平台:华硕Nexus 7,运行JellyBean
我创建了一个kiosk应用程序,使其成为默认的HOME / LAUNCHER意图。我需要能够通过密码进行服务和维护,从而获得它的股票安卓启动器。
我到处搜索过,找不到一个好的,简洁的答案。我提出的最好的方法是创建一个意图选择器(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的意图。然而,股票发射器在我的平板电脑上显示了一个“com.android.launcher”包。很显然,我在这里遇到了一些完全错误。
答案 0 :(得分:1)
步骤1:记录他们需要在将其设置为主屏幕之前从启动器手动运行您的应用程序。
步骤2:在第一次运行时,使用resolveActivity()
找出默认主屏幕的内容,并保留ResovleInfo
中的相关信息(例如,组件名称)在一些持久性数据存储中。
步骤3:使用该数据根据需要从您的自助服务终端应用程序中的后门打开默认主屏幕。