1

平台:ASUS Nexus 7,运行 JellyBean


我通过将其设置为默认的 HOME / LAUNCHER 意图创建了一个 kiosk 应用程序。我需要能够通过服务和维护的密码摆脱它,进入股票 android 启动器。

我已经搜索了所有内容,但找不到一个好的,简洁的答案。我想出的最好方法是创建一个意图选择器 ( 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) { }

每次我的意图都是空的。然而,股票启动器在我的平板电脑上显示了一个“com.android.launcher”包。显然我在这里完全错了。

4

1 回答 1

1

步骤#1:记录他们需要在启动器之外手动运行您的应用程序,然后再将其设置为主屏幕。

步骤#2:在第一次运行时,使用resolveActivity()找出默认主屏幕是什么,并保留来自ResovleInfo某些持久数据存储(例如组件名称)的相关信息。

步骤#3:使用该数据根据需要从您的信息亭应用程序中的任何后门调出默认主屏幕。

于 2012-10-20T23:55:43.130 回答