android - 以编程方式启动默认的 Android 启动器并调出应用程序选择屏幕

标签 android android-launcher

好吧,从表面上看,我认为这很容易做到,但事实证明这对我来说具有挑战性。我想做的就是以编程方式启动默认的 Android 启动器并调出应用程序选择屏幕。 “应用程序选择屏幕”是指包含所有设备应用程序的屏幕,通常内置于 Android 中,通常可以通过点击设备上的“应用程序”按钮来查看,与按钮关联的图标通常是一系列矩形...我实际上并不知道这个 Activity/应用程序叫什么...所以我希望我能正确表达这一点。

我知道如何启动启动器,我使用的 Intent 如下所示:

Intent().setComponent(new ComponentName("com.android.launcher", "com.android.launcher.Launcher"))

这可以用来启动启动器,但我不知道如何调出应用程序屏幕。我使用 logcat 查看了日志,发现当我按下设备上的应用程序按钮时,我没有看到没有来指示 Activity/程序包/应用程序名称。任何人都可以为我阐明这一点吗?

我已经在谷歌上搜索了很长一段时间,但没有找到任何我可以使用的东西,诚然,这可能是因为我不知道我试图触发的功能的名称,但对于我来说我的生活也找不到!。如果有人能指出我正确的方向,我将不胜感激。非常感谢。

最佳答案

I know how to start the launcher, the intent I am using looks like this:

无法保证 com.android.launcher 存在于任何 Android 设备上,更不用说它是用户配置的“默认 Android 启动器”了。

Would anyone be able to shed any light on this for me?

设备上预装了数十种(也许数百种)启动器实现。用户可以从 Play 商店等地方下载成百上千的启动器实现。不需要为第三方应用程序提供任何方式直接驱动到“应用程序屏幕”。哎呀,有些甚至“应用程序屏幕”。

你可以看到com.android.launcher的源代码here .这个特定的启动器很古老,“应用程序屏幕”没有单独的 Activity ,更不用说导出供第三方使用的 Activity 了。同样的道理for com.android.launcher2 .

关于android - 以编程方式启动默认的 Android 启动器并调出应用程序选择屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20749935/

相关文章:

android - Eclipse 停止识别对象 (Android)

java - 应用程序从后台重新启动主要 Activity ,而不是恢复之前的状态

android - 暂时设置home for android

android - 我的安卓应用的插件

android - 没有规则来制作 libcamera_client_intermedietes

java - 如何在 android Jelly Bean Launcher 中添加自定义 View

Android:根据用户是否登录更改 Activity 启动我的应用程序?

android - 是否可以有多个启动器 Activity?

android - Xamarin Android 应用响应 'Share To' 请求

android - 仅在平板电脑上支持 Android N+ 中的分屏