Android 如何从我的活动中显式启动stock launcher?
平台:华硕Nexus7,运行JellyBeanAndroid 如何从我的活动中显式启动stock launcher?,android,android-launcher,Android,Android Launcher,平台:华硕Nexus7,运行JellyBean 我创建了一个kiosk应用程序,将其设置为默认的主/启动器用途。我需要能够通过一个服务和维护的密码离开它,进入股票android启动器 我找遍了,找不到一个好的、简洁的答案。我想到的最好方法是创建一个intent选择器(intent.createChooser(intent I,String title)),并在我的启动器和股票启动器之间进行选择。这没关系,但实际上是一个解决办法 我试过: PackageManager pm = this.get
我创建了一个kiosk应用程序,将其设置为默认的主/启动器用途。我需要能够通过一个服务和维护的密码离开它,进入股票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) { }
每次我的意图都是空的。然而,stock launcher在我的平板电脑上显示了一个“com.android.launcher”包。显然,我在这里完全搞错了。第1步:记录他们需要手动运行你的应用程序一次,然后再将其设置为主屏幕
步骤2:在第一次运行时,使用resolveinfo()
找出默认主屏幕是什么,并在一些持久数据存储中保留resolveinfo
中的相关信息(例如组件名称)
第3步:根据需要,使用这些数据从kiosk应用程序中的任何后门调出默认主屏幕。第1步:记录他们需要手动运行应用程序一次,然后再将其设置为主屏幕
步骤2:在第一次运行时,使用resolveinfo()
找出默认主屏幕是什么,并在一些持久数据存储中保留resolveinfo
中的相关信息(例如组件名称)
第三步:根据需要,使用这些数据从kiosk应用程序中的任何后门调出默认主屏幕