0

如何通过 Android 应用在 Android 中显示特定的主屏幕。例如,在我的应用程序上按下主页按钮时,我想显示一个特定的主屏幕。由于可以有多个主屏幕,所以希望操作系统显示特定的主屏幕。

以及如何获取从 android 应用程序配置的主屏幕数量?

请让我知道是否有人有同样的想法。

谢谢。

4

1 回答 1

1

因为主屏幕只不过是另一个安装了一个在清单中声明的​​带有该android:name="android.intent.category.HOME"属性的活动的应用程序,因此要获取所有主屏幕的列表 - 您所要做的就是查询包管理器以获取具有此属性的所有包的列表:

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);

例如,在我的应用程序上按下主页按钮时,我想显示一个特定的主屏幕

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

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

即使你设法做到了 - 我必须警告你,像这样启动主屏幕应用程序是一种非常糟糕的方法。除非您有充分的理由(例如,如果您的应用程序设计为在特定公司的 ciosk 模式下工作或类似的东西......)

于 2013-08-16T13:25:56.457 回答