主屏幕组件名称

时间:2013-01-31 12:01:56

标签: android

我正在开发简单的主屏幕应用程序。所以,当我按下主页按钮时,我可以 选择本机和我的主屏幕应用程序。问题是:如果我将我的应用程序设置为默认值 主屏幕应用程序当我重新启动手机时我无法进入原生主屏幕应用程序 因为它从未开始,所以我的应用程序站在堆栈顶部。我怎么才能进入 本机主屏幕应用程序当我重新启动手机,如果我的默认主屏幕应用程序? 我有个主意:  在启动时,我可以检查调用意图 - 如果它包含Home类别,我将调用本机主屏幕应用程序。像这样:

 Intent creatingIntent = getIntent();
 if (creatingIntent.hasCategory(Intent.CATEGORY_HOME))
 {
     creatingIntent.setPackage("com.android.launcher");
     creatingIntent.setComponent(new ComponentName
     ("com.android.launcher",
     "com.android.launcher2.Launcher"));
     startActivity(creatingIntent);
     finish();
 }

但问题是我不知道如何获得本机主屏幕应用程序的组件名称,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

家庭应用程序(=启动器)的目标是替换原生发射器,迫使两个发射器同居是很奇怪的。但如果你成功做了类似的事情,当你按下主页按钮时它也将启动原生发射器。

要回答您的问题,原生启动器取决于目标设备。示例:samsung不使用与谷歌相同的启动器,因此组件名称将不同。

您是否尝试过在启动时启动应用的广播接收器?这样,您就不必将应用程序作为默认的家庭应用程序,因此当您按下主页按钮时可以保留选择。但是,如果用户选择您的应用作为默认应用,则不是解决方案。

也许你可以看看How to use customized screen instead of default start screen in Android?