Android 判断Intent是否存在
来源:互联网 发布:富士康网络重复报名 编辑:程序博客网 时间:2024/06/05 04:52
当Android系统调用Intent时,如果没有找到Intent匹配的Activity组件(Component),那么应用将报以下错误:
android.content.ActivityNotFoundException:Unable to find explicit activity class如果没有使用UncaughtExceptionHandler类来处理全局异常,那么程序将异常退出造成不好的用户体验。为了防止ActivityNotFoundException错误的出现,在启动Activity之前先判断Intent是否存在。
第一种方法:
/** * 检测 响应某个意图的Activity 是否存在 * @param context * @param intent * @return */public static boolean isIntentAvailable(Context context, Intent intent) { final PackageManager packageManager = context.getPackageManager(); List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.GET_ACTIVITIES); return list.size() > 0;}
还有一种更简便的方法,如下
第二种方法:
/** * 第二种方法 * intent.resolveActivity(getPackageManager()) */public void checkIntentAvailable(){ Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);// intent.setClassName(getPackageName(), className); intent.putExtra(SearchManager.QUERY, getActionBar().getTitle()); // catch event that there's no activity to handle intent if (intent.resolveActivity(getPackageManager()) != null) {//存在 startActivity(intent); } else {//不存在 Log.e("", "not exists"); }}
当然,上述第一种 方法也可以判断 Service、BroadCastReceiver、ContentProvider 组件是否存在,通过控制第三个参数即可,如下:
1 0
- Android 判断Intent是否存在
- Android 判断 Intent 是否存在
- Android中如何判断Intent是否存在
- Android中如何判断Intent是否存在?
- 判断Intent服务是否存在
- android判断是否存在网络
- Android判断应用是否存在
- android判断程序是否存在
- android判断文件是否存在
- Android判断应用是否存在
- Android 判断耳机是否存在
- Android判断apk是否存在
- Android判断快捷方式是否存在
- android 判断文件是否存在
- Android 判断 PendingIntent 是否存在
- android 判断文件是否存在
- 判断Intent是否存在,PakageManager.GET_ACTIVITIES报错
- Android 判断某个Intent是否可用
- oracle事务特性
- 【Java网络编程】UDP协议实例——简单的在线聊天程序
- hanganalyz 性能诊断工具
- epoll简介
- erlang mnesia 数据库备份与还原
- Android 判断Intent是否存在
- OpenCV学习笔记(8)VS2008 MFC下使用OpenCV2.0进行简单图像处理
- Ubuntu下SVN的配制
- 中英不同字体的设置
- sql中批量插入数据、char与int拼接实例
- objective-C 中两种实现动画的方法(转)
- 详解WINCE的控制面板
- 实战CentOS 6.0+Nagios中文版+PNP+Nagios Web管理工具nagiosQL中文版
- Hbase学习笔记