作家
登录

使用Intent打开第三方应用及验证可用性

作者: 来源: 2017-09-07 15:38:17 阅读 我要评论

null) {   
  •         try {   
  •             ai = pm.getActivityInfo(mComponent, flags);   
  •         } catch (PackageManager.NameNotFoundException e) {   
  •             // ignore   
  •         }  
  •  
  •     } else {   
  •         ResolveInfo info = pm.resolveActivity(this,   
  •             PackageManager.MATCH_DEFAULT_ONLY | flags);   
  •         if (info != null) {   
  •             ai = info.activityInfo;   
  •         }   
  •     }    
  •  
  •     return ai;  
  •  
  • }  
  • 显而易见,我们此方法就是先设置的 ComponentName,所以会直接 return mComponent 给我们,并没有任何剖断的逻辑。相对的, resolveActivityInfo() 则可以进行有效剖断并返回 null。故,我们选择应用 Intent.resolveActivityInfo() 进行此方法下的剖断:

    1. String package_name = "xx.xx.xx";  
    2.  
    3. String activity_path = "xx.xx.xx.ab.xxActivity";  
    4.  
    5. Intent intent = new Intent();  
    6.  
    7. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//可选  
    8.  
    9. ComponentName cn = new ComponentName(package_name,activity_path);  
    10.  
    11. intent.setComponent(cn);    
    12.  
    13. if (intent.resolveActivityInfo(getPackageManager(), PackageManager.MATCH_DEFAULT_ONLY) != null) {  
    14.  
    15.     startActivity(intent);  
    16.  
    17. else {  
    18.  
    19.     //找不到指定的 Activity  
    20.  
    21. }  

    3.隐式启动第三方应用

    此方法多用于启动体系中的功能性应用,比如打德律风、发邮件、预览图片、应用默认浏览器打开一个网页等。

    1. > Intent intent = new Intent();  
    2.  
    3. > intent.setAction(action);  
    4.  
    5. > intent.addCategory(category);  
    6.  
    7. > intent.setDataAndType("abc://www.dfg.com","image/gif");  
    8.  
    9. > startActivity(intent);  

        推荐阅读

        程序员经常说的「设计模式」到底是什么?

      【编辑推荐】 大年夜法度榜样员到CTO,可能就差这一次改变 知加一周精选:法度榜样员上周薪资播报出炉,快来看看你的热度 终于找到法度榜样员无休止加班的原因了! 揭秘项目经>>>详细阅读


      本文标题:使用Intent打开第三方应用及验证可用性

      地址:http://www.17bianji.com/lsqh/37221.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)