gpt4 book ai didi

java - 获取 Activity 的 ResolveInfo 对象,知道它的名称?

转载 作者:太空宇宙 更新时间:2023-11-03 12:09:30 38 4
gpt4 key购买 nike

我想将我的 Activity (com.myapp.launcher.settings) 添加到一个空的 ArrayList。

    ArrayList<ResolveInfo> selectedApps = new ArrayList<ResolveInfo>();
selectedApps.add(/*WHAT GOES IN HERE?*/);

但我不知道如何通过我的 Activity 获取 ResolveInfo 对象。


我设法制定了一个解决方法,循环遍历所有应用程序以查找我的 Activity 。但它不是很有效或实用:

    // Get an array list of all apps
    ArrayList<ResolveInfo> allApps = (ArrayList<ResolveInfo>) pm.queryIntentActivities(intent, PackageManager.PERMISSION_GRANTED);
for(final ResolveInfo app : allApps) {
// If it's name is "com.myapp.launcher.settings" add it
if(app.activityInfo.name.equals("com.myapp.launcher.settings")) {
selectedApps.add(app);
}
}

最佳答案

只需使用 resolveActivity具有明确的 Intent。大概是这样的:

Intent intent = new Intent();
intent.setComponent(new ComponentName("com.myapp", "com.myapp.launcher.settings"));
ResolveInfo app = pm.resolveActivity(intent, 0);
selectedApps.add(app);

关于java - 获取 Activity 的 ResolveInfo 对象,知道它的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15511940/

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