gpt4 book ai didi

android - 如何启动 com.android.launcher?

转载 作者:太空狗 更新时间:2023-10-29 16:22:30 25 4
gpt4 key购买 nike

我创建了一个用作启动器的应用,它按预期工作,但我想让用户能够启动 native Android 启动器。

我知道 Android 启动器的包名称是 com.android.launcher

但是,当我尝试通过调用从这个包中获取 Launch Intent 名称时

packageManager.getLaunchIntentForPackage("com.android.launcher");

结果为空。

所以,我不知道如何使用包名称来启动它,想知道是否有其他替代方法?

TIA

最佳答案

I know that the package name for the Android Launcher is com.android.launcher

除了可能在也可能不在任何给定设备上。事实上,我预计它可能会出现在百分之几的设备上。大多数制造商用自己的主屏幕替换了库存主屏幕。

am wondering if perhaps there's some alternate way?

使用 PackageManagerqueryIntentActivities() 查找所有支持 ACTION_MAINCATEGORY_HOME 的 Activity 。从列表中删除您的 Activity 。如果只剩下一个,则启动该 Activity 。如果还剩不止一个,请启动您自己的选择器以显示可用选项。这样,无论存在什么其他主屏幕,您都可以启动它。

更新

给定一个名为 launchableResolveInfo 和一个 ACTION_MAIN/CATEGORY_HOME 模板 Intent 名为 i,要启动该 Activity ,请执行以下操作:

ActivityInfo activity=launchable.activityInfo;
ComponentName name=new ComponentName(activity.applicationInfo.packageName,
activity.name);

i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
i.setComponent(name);

startActivity(i);

关于android - 如何启动 com.android.launcher?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11090431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com