平台:ASUS Nexus 7,运行 JellyBean
我通过将其设为默认的 HOME/LAUNCHER intent 创建了一个信息亭应用程序。我需要能够通过用于服务和维护的密码离开它,进入普通的 android 启动器。
我到处搜索,找不到一个好的、简洁的答案。我想出的最好办法是创建一个 Intent 选择器 (Intent.createChooser(Intent i, String title)
) 并在我的启动器和常用启动器之间进行选择。这没关系,但确实是一种解决方法。
我试过:
PackageManager pm = this.getPackageManager();
try {
Intent i = pm.getLaunchIntentForPackage("com.android.launcher");
if (i != null)
this.startActivity(i);
}
catch (ActivityNotFoundException e) { }
我每次都得到 null 的 Intent 。然而,股票启动器在我的平板电脑上显示了一个“com.android.launcher”包。显然,我在这里完全错了。
最佳答案
第 1 步:记录他们需要从启动器中手动运行您的应用程序,然后再将其设置为主屏幕。
第 2 步:在第一次运行时,使用 resolveActivity()
找出默认主屏幕是什么,并保留 ResovleInfo
中的相关信息>(例如,组件名称)在一些持久性数据存储中。
第 3 步:使用该数据根据需要从自助服务终端应用中的任何后门调出默认主屏幕。
关于android - 如何从我的 Activity 中明确启动库存启动器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12992734/