显而易见,我们此方法就是先设置的 ComponentName,所以会直接 return mComponent 给我们,并没有任何剖断的逻辑。相对的, resolveActivityInfo() 则可以进行有效剖断并返回 null。故,我们选择应用 Intent.resolveActivityInfo() 进行此方法下的剖断:
- String package_name = "xx.xx.xx";
- String activity_path = "xx.xx.xx.ab.xxActivity";
- Intent intent = new Intent();
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//可选
- ComponentName cn = new ComponentName(package_name,activity_path);
- intent.setComponent(cn);
- if (intent.resolveActivityInfo(getPackageManager(), PackageManager.MATCH_DEFAULT_ONLY) != null) {
- startActivity(intent);
- } else {
- //找不到指定的 Activity
- }
3.隐式启动第三方应用
此方法多用于启动体系中的功能性应用,比如打德律风、发邮件、预览图片、应用默认浏览器打开一个网页等。
- > Intent intent = new Intent();
- > intent.setAction(action);
- > intent.addCategory(category);
- > intent.setDataAndType("abc://www.dfg.com","image/gif");
- > startActivity(intent);
推荐阅读
【编辑推荐】 大年夜法度榜样员到CTO,可能就差这一次改变 知加一周精选:法度榜样员上周薪资播报出炉,快来看看你的热度 终于找到法度榜样员无休止加班的原因了! 揭秘项目经>>>详细阅读
地址:http://www.17bianji.com/lsqh/37221.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示