如何判断Intent有没有对应的Activity去处理?_项目管理_非技术区_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 非技术区 > 项目管理 > 如何判断Intent有没有对应的Activity去处理?

如何判断Intent有没有对应的Activity去处理?

 2013/12/8 15:26:07  wlrhnh  博客园  我要评论(0)
  • 摘要:如何判断Intent有没有对应的Activity去处理?至少有以下两种方法,最近使用过,随笔记下来,以供查阅。第一种,如下:1publicbooleanisIntentResolvable(Intentintent){2returnintent.resolveActivity(this.getPackageManager())!=null;3}第二种,比较复杂,但是能够获得更多信息,有时候更有用:1publicstaticbooleanisIntentAvailable
  • 标签:Intent Ten Activity

如何判断Intent有没有对应的Activity去处理?至少有以下两种方法,最近使用过,随笔记下来,以供查阅。

第一种, 如下:

1 public boolean isIntentResolvable(Intent intent) {
2     return intent.resolveActivity(this.getPackageManager()) != null;
3 }

第二种,比较复杂,但是能够获得更多信息,有时候更有用:

 1 public static boolean isIntentAvailable(String action) {
 2     final PackageManager packageManager = getPackageManager();
 3     final Intent intent = new Intent(action);
 4     List<ResolveInfo> list = packageManager.
 5             queryIntentActivities(intent,
 6             PackageManager.MATCH_DEFAULT_ONLY);
 7     Log.d("David", "list.size() = " + list.size());
 8     for (ResolveInfo res : list) {
 9         Log.d("David", "res.resolvePackageName = " +
10             res.activityInfo.packageName);
11     }
12     return list.size() > 0;
13 }

 

发表评论
用户名: 匿名