作家
登录

Android必知必会-使用Intent打开第三方应用及验证可用性

作者: 来源: 2017-09-05 08:58:58 阅读 我要评论

基本常识

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

1. App 的人口 Activity 与其 icon

Android必知必会-应用Intent打开第三方应用及验证可用性

一个通俗的应用默认会有一小我口 Activity,它在 AndroidManifest.xml 一一般如许写:

  1. <application> 
  2.     <activity android:name=".MainActivity" > 
  3.         <intent-filter> 
  4.             <action android:name="android.intent.action.MAIN" /> 
  5.  
  6.             <category android:name="android.intent.category.LAUNCHER" /> 
  7.         </intent-filter> 
  8.     </activity> 
  9.     ... 
  10. </application> 

只有设备了一个如许的 Activity,这个应用才会点击的时刻知道启动哪个 Activity,如不雅把 category 的值修改为 android.intent.category.DEFAULT 那么,这个应用将在桌面看不到 icon,无法直接打开了。

应用 Intent 打开第三方应用或指定 Activity 的方法

  1. 肮脏道包名 - 须要有默认的人口 Activity
  2. 启动指定第三方应用的 Activity - 须要包名和 Activity 名,且该 Activity 的 Export=“true”
  3. 隐式启动第三方应用

1. 应用 PackageManager.getLaunchIntentForPackage()

  1. String package_name="xx.xx.xx"
  2. PackageManager packageManager = context.getPackageManager(); 
  3. Intent it = packageManager.getLaunchIntentForPackage(package_name); 
  4. startActivity(it); 

该办法针对肮脏道包名,想要启动该应用时应用,对该应用的独一限制是 有默认的人口 Activity 。

当没有默认的人口 Activity 时,会报 NullPointerException 异常:

  1. java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Intent.toString()' on a null object reference 

再看看 getLaunchIntentForPackage() 办法的解释:

  1. /** 
  2.      * Returns a "good" intent to launch a front-door activity in a package. 
  3.      * This is used, for example, to implement an "open" button when browsing 
  4.      * through packages.  The current implementation looks first for a main 
  5.      * activity in the category {@link Intent#CATEGORY_INFO}, 
     1/5    1 2 3 4 5 下一页 尾页

      推荐阅读

      企业需要DCIM工具来做什么?

    现如今,DCIM对象在保障数据中间靠得住和高效地运营中发挥着关键感化,是以买家们应当密切存眷其安排的成长。何谓DCIM?数据中间基本架构治理(DCIM)的定义可能存在多种不合的版本。大年夜更>>>详细阅读


    本文标题:Android必知必会-使用Intent打开第三方应用及验证可用性

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

关键词: 探索发现

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

网友点评
自媒体专栏

评论

热度

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