public abstract Intent getLaunchIntentForPackage(String packageName);
所以应用此方法剖断 Intent 是否为空即可。
- String package_name = "xx.xx.xx";
- PackageManager packageManager = getPackageManager();
- Intent it = packageManager.getLaunchIntentForPackage(package_name);
- if (it != null){
- startActivity(it);
- }else{
- //没有默认的人口 Activity
- }
2. 应用 Intent.setComponent()
- 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 comp = new ComponentName(package_name,activity_path);
- intent.setComponent(comp);
- startActivity(intent);
此方法可以启动一个应用指定的 Activity,不限于默认人口 Activity。但此方法请求的前提多,如下:
知道 App 的包名和 Activity 的全路径及其名称
- 须要启动的目标 Activity 在 AndroidManifest.xml 中的属性 Export=“true”
- 那这种方法下,若何断定目标 Activity 是否存在呢?
下面是网上传播的异常广泛的用法:
- 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);
推荐阅读
现如今,DCIM对象在保障数据中间靠得住和高效地运营中发挥着关键感化,是以买家们应当密切存眷其安排的成长。何谓DCIM?数据中间基本架构治理(DCIM)的定义可能存在多种不合的版本。大年夜更>>>详细阅读
本文标题:Android必知必会-使用Intent打开第三方应用及验证可用性
地址:http://www.17bianji.com/lsqh/37130.html
1/2 1

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