Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 实施alias活动后在列表中找不到我的应用程序_Android_Android Activity_Android Manifest - Fatal编程技术网

Android 实施alias活动后在列表中找不到我的应用程序

Android 实施alias活动后在列表中找不到我的应用程序,android,android-activity,android-manifest,Android,Android Activity,Android Manifest,我希望我的应用程序有时表现为家庭启动器,有时则不是。为了做到这一点,我实现了一个别名活动,它将作为主启动器活动,请参见下面的清单 在启用和禁用之间切换后,有时我在应用程序列表中看不到应用程序,我在意图过滤器中声明了启动器。但是,重新启动设备后,我可以在列表中看到应用程序…非常wierd 我通过以下代码在两个活动之间切换: 启用活动: ComponentName enableHomeActivityManifest = new ComponentName(HOME_PACKAGE,HOME_PAC

我希望我的应用程序有时表现为家庭启动器,有时则不是。为了做到这一点,我实现了一个别名活动,它将作为主启动器活动,请参见下面的清单

在启用和禁用之间切换后,有时我在应用程序列表中看不到应用程序,我在意图过滤器中声明了启动器。但是,重新启动设备后,我可以在列表中看到应用程序…非常wierd

我通过以下代码在两个活动之间切换:

启用活动:

ComponentName enableHomeActivityManifest = new ComponentName(HOME_PACKAGE,HOME_PACKAGE
            + ".activities.HomeActivity");

    mContext.getPackageManager().setComponentEnabledSetting(enableHomeActivityManifest, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
            PackageManager.DONT_KILL_APP);
禁用别名:

    ComponentName componentToDisable = new ComponentName(this, MessageDispatcher.HOME_PACKAGE + ".aliasHomeActivity");
    getPackageManager().setComponentEnabledSetting(componentToDisable,
            PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
            PackageManager.DONT_KILL_APP
        );
舱单:

  <activity
        android:name=".activities.HomeActivity"
        android:clearTaskOnLaunch="true"
        android:configChanges="orientation"
        android:icon="@drawable/home"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:exported="true"
        android:screenOrientation="portrait"
        android:stateNotNeeded="true"
        android:theme="@android:style/Theme.Black.NoTitleBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.MONKEY" />
        </intent-filter>
    </activity>

    <activity-alias
        android:name=".aliasHomeActivity"
        android:clearTaskOnLaunch="true"
        android:configChanges="orientation"
        android:enabled="false"
        android:icon="@drawable/home"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="portrait"
        android:stateNotNeeded="true"
        android:exported="true"
        android:targetActivity=".activities.HomeActivity"
        android:theme="@android:style/Theme.Black.NoTitleBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.MONKEY" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity-alias>

主屏幕启动器不需要根据组件状态的变化自动重新加载其图标。虽然这很理想,但毫无疑问,许多主屏幕实现并没有做到这一点