如何在Android应用中显示Android中的特定主屏幕。例如,在我的应用程序上按下主页按钮时,我想显示一个特定的主屏幕。由于可以有多个主屏幕,因此希望操作系统能够显示特定的主屏幕。
还有如何获得从Android应用程序配置的主屏幕数量?
如果有人有同样的想法,请告诉我。
感谢。
答案 0 :(得分: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);
例如,在按我的应用程序上的主页按钮时,我想显示一个特定的主屏幕
当用户按下主页按钮时,您无法控制将启动哪个主屏幕。只有用户,通过在意图选择器中选择他可用的选项。 除非你在root设备上运行你的应用程序..
我会说,按照主页按钮点击的反应显示可能会以某种方式启动活动,但是这个事件无法从没有系统签名的应用程序中截取,因此您也可以忘记这一点。
即使你以某种方式做到了这一点 - 我必须警告你,推出像这样的主屏幕应用程序是一个非常糟糕的方法。除非你有充分的理由(例如 - 如果你的应用程序设计为针对特定公司的ciosk模式或类似的东西工作......),你不会想要从用户那里获得这种能力。