Android Exit自带的Launcher App

时间:2014-10-31 17:32:02

标签: android android-intent manifest kiosk

我使用设置

创建了一个小型自定义启动器应用程序
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />

在我的Android Manifest中。但是,如果我想退出正常的启动器,我该怎么办呢?

2 个答案:

答案 0 :(得分:5)

首次使用

清除启动器的默认值
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);
祝你好运:)

答案 1 :(得分:2)

对于新读者:android.intent.category.MONKEY intent。

在android源代码启动器清单中有这些intent-filters:

<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>

所以,lauanch安卓启动器会从你的活动中调用它:

 Intent startMain = new Intent(Intent.ACTION_MAIN);
        startMain.addCategory("android.intent.category.MONKEY");
        startActivity(startMain);