android - 如何从我的 Activity 中明确启动库存启动器?

标签 android android-launcher

平台: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/

相关文章:

java - 使用普通应用程序作为 Android 启动器

android - 通过调用号码取消隐藏 Android 应用程序

java - Android - Glide 库内存不足异常

php - Android:使用php在服务器上上传图片

android - 如何在android中检索选定文本的BackgroundColorSpan

android - 在我的应用程序中使用图标包

android - 以编程方式启动默认的 Android 启动器并调出应用程序选择屏幕

Android:打开文件夹对话框

android - 如何获取 Eclipse 的 JRE 文件?

android - 获取已安装应用程序的列表,很简单。但如何启动其中之一呢?