安卓如何退出自己的启动器应用程序

3
我创建了一个带有设置的小型自定义启动器应用程序。
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />

在我的Android清单中。但是如果我想退出到正常的启动器,我该怎么做?

在我的 Android 清单中已经定义了启动器。但是如果我想退出到普通的启动器,应该如何操作呢?
2个回答

6

首先使用以下方法清除您的启动器默认设置:

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,请从您的活动中调用以下内容:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接