我将我的活动设置为默认启动器来拦截主页按钮的点击,如下所示:
<activity
android:name=".ExampleActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
当我的活动ExampleActivity
启动时,如果我单击该home键,则会提示我进行选择。如果我选择将此作为默认设置并选择我的活动,我会根据需要卡在我的活动中。
问题是,当我离开活动时,我尝试从默认启动器中删除我的活动,但没有成功。
我试过了:
ComponentName componentName = new ComponentName(
"com.example.exampleactivity",
"com.example.exampleactivity.class");
pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP);
和:
PackageManager pm = getActivity().getPackageManager();
ComponentName name = new ComponentName(this, "com.example.exampleactivity.class");
pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);
但我对 的指定home从未被删除。
有没有人有解决上述问题的工作方法?
我只希望主页按钮不是特定活动的默认设置,而不是我的整个应用程序。当我离开活动时,它应该被删除并恢复为默认值。