java查看活动对象命令_java – 获取一个活动的ResolveInfo对象知道它的名字?

我想将我的活动(com.myapp.launcher.settings)添加到空ArrayList中.

ArrayList selectedApps = new ArrayList();

selectedApps.add(/*WHAT GOES IN HERE?*/);

但我不知道如何使用我的活动获取ResolveInfo对象.

我设法制定了一个解决方法,遍历所有应用程序以查找我的活动.但它不是非常有效或实用:

// Get an array list of all apps

ArrayList allApps = (ArrayList) 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 = new Intent();

intent.setComponent(new ComponentName("com.myapp", "com.myapp.launcher.settings"));

ResolveInfo app = pm.resolveActivity(intent, 0);

selectedApps.add(app);

标签:android,java

来源: https://codeday.me/bug/20190725/1535151.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值