【问题标题】:Android Exit own Launcher AppAndroid 退出自己的 Launcher App
【发布时间】:2014-12-28 02:37:39
【问题描述】:
我创建了一个带有设置的小型自定义启动器应用程序
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
在我的 Android 清单中。但是如果我想退出到正常的Launcher,我该怎么做呢?
【问题讨论】:
标签:
android
android-intent
manifest
kiosk
【解决方案1】:
首先为你的启动器清除默认值
this.getPackageManager().clearPackagePreferredActivities(this.getPackageName());
然后退出你的活动
finish();
然后使用下面模拟主页按钮,它会显示主页选择器
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
祝你好运:)
【解决方案2】:
对于新读者:android.intent.category.MONKEY intent。
在 android 源代码启动器清单中有这些意图过滤器:
<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"/>
</intent-filter>
您的“主屏幕”活动清单应仅包含以下内容:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
因此,要启动 android Launcher,请从您的 Activity 中调用:
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory("android.intent.category.MONKEY");
startActivity(startMain);