Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从我的活动中显式启动stock launcher?_Android_Android Launcher - Fatal编程技术网

Android 如何从我的活动中显式启动stock launcher?

Android 如何从我的活动中显式启动stock launcher?,android,android-launcher,Android,Android Launcher,平台:华硕Nexus7,运行JellyBean 我创建了一个kiosk应用程序,将其设置为默认的主/启动器用途。我需要能够通过一个服务和维护的密码离开它,进入股票android启动器 我找遍了,找不到一个好的、简洁的答案。我想到的最好方法是创建一个intent选择器(intent.createChooser(intent I,String title)),并在我的启动器和股票启动器之间进行选择。这没关系,但实际上是一个解决办法 我试过: PackageManager pm = this.get

平台:华硕Nexus7,运行JellyBean


我创建了一个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应用程序中的任何后门调出默认主屏幕