gpt4 book ai didi

android - 以编程方式启动默认的android启动器

转载 作者:可可西里 更新时间:2023-11-01 18:45:17 28 4
gpt4 key购买 nike

我正在寻找一种以编程方式启动默认 android 启动器的方法,可能类似于下面的代码。还是我必须向 list 文件中添加一些内容?谢谢!

Intent intent = new Intent();
intent.setClassName("com.android.launcher", "Launcher");
startActivity(intent);

最佳答案

你试过吗?

startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER));

(我自己没试过,因为我的用例有点复杂---我已经更换了启动器,我想调用启动器...)

我还发现您可以使用程序包管理器查看所有满足某些 Intent 过滤条件的 Activity 。例如,如果您想查找所有标记为主页默认主页 Activity 的 Activity ,请使用:

Intent intent=null;
final PackageManager packageManager=getPackageManager();
for(final ResolveInfo resolveInfo:packageManager.queryIntentActivities(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME), PackageManager.MATCH_DEFAULT_ONLY))
{
if(!getPackageName().equals(resolveInfo.activityInfo.packageName)) //if this activity is not in our activity (in other words, it's another default home screen)
{
intent=packageManager.getLaunchIntentForPackage(resolveInfo.activityInfo.packageName));
break;
}
}

请注意,我已经替换了我设备上的默认主屏幕——这就是为什么我必须确保我找到的 Activity 不是正在运行的 Activity !如果您没有替换默认的主页 Activity ,则不需要此检查——只需使用第一个(也可能是唯一的)默认主页 Activity 。

(请注意,我仍然无法从我的启动器启动旧启动器,可能是因为旧启动器保留了默认启动器的记录,这是我的新启动器,并简单地回调它。我不知道. 但至少它不会崩溃,我猜想,如果你没有更换旧的主屏幕,它可能会工作。)

关于android - 以编程方式启动默认的android启动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6705847/

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