如何获得可以处理特定活动的apks数量?

时间:2014-02-13 00:40:12

标签: android adb

我想了解有多少apks可以处理特定活动,并根据具体行动。例如,如果我

adb shell am start -a android.media.action.STILL_IMAGE_CAMERA 

打开相机但是如果有多个apks正在进行相同的活动,那么我将获得流行的“使用完成操作”对话框。我试图避免这种情况。

所以,如果有任何方法让我知道支持该活动的apks数量,那么我可以说

if(numberofApk>1)
{
 Keypress.click  //to remove finish action using dialog
}
else
//do nothing

任何想法?

1 个答案:

答案 0 :(得分:2)

根据此处的文档http://developer.android.com/training/basics/intents/sending.html#Verify,如果您已定义了您的意图,请执行以下操作:

PackageManager packageManager = getPackageManager();
List<ResolveInfo> activities = packageManager.queryIntentActivities(intent, 0);
activities.size() //number of stuff that can handle your intent