如何在Android中显示特定的主屏幕?

如何在Android中显示特定的主屏幕?,android,homescreen,Android,Homescreen,如何从Android应用程序在Android中显示特定的主屏幕。例如,在按下我的应用程序上的home(主页)按钮时,我想显示一个特定的主屏幕。由于可以有多个主屏幕,我想坚持操作系统显示特定的主屏幕 还有,如何从android应用程序中配置主屏幕的数量 如果有人有同样的想法,请告诉我 谢谢。因为主屏幕只不过是另一个安装了活动的应用程序,该活动在清单中声明为带有android:name=“android.intent.category.home”属性,要获取所有主屏幕的列表,您只需查询packgag

如何从Android应用程序在Android中显示特定的主屏幕。例如,在按下我的应用程序上的home(主页)按钮时,我想显示一个特定的主屏幕。由于可以有多个主屏幕,我想坚持操作系统显示特定的主屏幕

还有,如何从android应用程序中配置主屏幕的数量

如果有人有同样的想法,请告诉我


谢谢。

因为主屏幕只不过是另一个安装了活动的应用程序,该活动在清单中声明为带有
android:name=“android.intent.category.home”
属性,要获取所有主屏幕的列表,您只需查询packgage manager以获取具有此属性的所有软件包的列表:

Intent intent = new Intent(Intent.ACTION_HOME, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List pkgHomeAppsList = getPackageManager().queryIntentActivities(intent , 0);
当然,您可以使用
pkgHomeAppsList.count()获得它的大小

此外,您可以从列表中选择每个包,并按如下方式启动它:

Intent launchIntent = getPackageManager().getLaunchIntentForPackage(packageInfo.packageName)); 
launchIntent.addFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(launchIntent);
例如,在按下我的应用程序上的home(主页)按钮时,我想显示一个特定的主屏幕

当用户按下主屏幕按钮时,您无法控制将启动哪个主屏幕。仅限用户,通过在意向选择器中选择其可用的选项。 除非您在根设备上运行应用程序

我想说,在某种程度上,启动活动是可能的,正如我在“主页”按钮点击的反应中所显示的,但这个事件不能从没有系统签名的应用程序中截获,所以你也可以忘记这一点

即使你们设法做到了这一点——我必须警告你们,像这样启动主屏幕应用程序是一个非常糟糕的方法。除非你有很好的理由(例如,如果你的应用程序设计为在ciosk模式下为特定的公司或类似的东西工作),否则你不会从用户那里获得这种能力