我很好奇当您创建一个Intent选择器并且用户没有任何可以执行您指定的操作的应用时会发生什么。 例如,如果我尝试通过Intent打开Facebook个人资料,并且用户手机上既没有Facebook应用程序,也没有任何浏览器。
在实际打开意图之前,您如何检查用户是否有应用程序打开您的意图?
答案 0 :(得分:0)
您可以在PackageManager
的帮助下完成此操作 final PackageManager packageManager = this.getPackageManager();
final Intent intent = new Intent(action);
List<ResolveInfo> list =
packageManager.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
if(list.size() > 0)
// there is some app that will handle this intent
else
// there is no app to handle this intent
queryIntentActivities
查找已为您查询的意图注册的活动,并返回可以处理该意图的活动数。
您可以在此链接http://android-developers.blogspot.ca/2009/01/can-i-use-this-intent.html