Android Intent安全性检查
2016-11-02 13:37
309 查看
在平时的开发中,跳转我们自己写的activity的时候,一般都是通过显式intent进行跳转.所以不用做什么安全性检查
但是当我们使用隐式意图来进行调起别的应用的activity时.就需要检查安全性了,否则activity不存在.可是会使程序崩溃的哟
检查intent安全性有以下两种方式:
第一种:
第二种:
当然,上述第一种 方法也可以判断 Service、BroadCastReceiver、ContentProvider 组件是否存在,通过控制第三个参数即可,如下:
但是当我们使用隐式意图来进行调起别的应用的activity时.就需要检查安全性了,否则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 组件是否存在,通过控制第三个参数即可,如下:
相关文章推荐
- Android Intent启动Activity之前先检查是不是有对应的Acitivity存在
- Android Lolipop 屏蔽隐式Intent检查引发的错误
- android中检查action对应的intent是否存在
- 给隐式Intent加载运行检查(Android Development Patterns S1 Ep 1)
- Android Lolipop 屏蔽隐式Intent检查引发的错误
- android 由于使用Intent传送敏感数据(username password)的安全性考虑
- android检查intent是否可用
- Android Intent 使用整理
- Android中的intent
- Android Intent机制实例详解
- Android intent
- Android forward display screen(pages), by intent.
- Android Intent机制实例详解
- Android study(1)--Intent
- Android中的Intent详细讲解
- Android(OPhone) 学习笔记 - Intent和Activity
- Android(OPhone) 学习笔记 - Intent和Activity(3)
- Android应用协调器------Intent
- Android中的Intent详细讲解
- Android Intent 用法汇总