
我想将我的活动(com.myapp.launcher.settings)添加到空ArrayList中.
ArrayList<ResolveInfo> selectedApps = new ArrayList<ResolveInfo>(); selectedApps.add(/*WHAT GOES IN HERE?*/);但我不知道如何使用我的活动获取ResolveInfo对象.
我设法制定了一个解决方法,遍历所有应用程序以查找我的活动.但它不是非常有效或实用:
// 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 = new Intent();intent.setComponent(new Componentname("com.myapp", "com.myapp.launcher.settings"));ResolveInfo app = pm.resolveActivity(intent, 0);selectedApps.add(app); 总结 以上是内存溢出为你收集整理的java – 获取一个活动的ResolveInfo对象知道它的名字?全部内容,希望文章能够帮你解决java – 获取一个活动的ResolveInfo对象知道它的名字?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)