Android应用内调用第三方应用的方法

时间:2021-12-06 07:33:33

有时候我们的应用里需要调用别人已经写好的应用(前提是用户手机上已经安装)。自己的应用A调用自己的应用B,有比较多的方法,例如,在被调用的应用B的Activity内,设置Intent-filter,然后直接使用Intent调用。这些后面再讲,本讲先讲如何调用第三方应用,例如:百度云盘。
    调用第三方应用需要知道两个参数(这里需要先对第三方应用的AndroidManifest.xml文件进行解析,有点破解的味道):
第三方应用的包名;
第三方应用内的Activity类名(可以根据自己的需要选择,一般选择最先启动的Activity)。
    之后就可以调用如下代码启动第三方应用:

复制代码 代码如下:

ComponentName componentName = new ComponentName(pkg, cls); 
Intent intent = new Intent(); 
intent.setComponent(componentName); 
startActivity(intent); 

 

 注:接写AndroidManifest.xml文件可以使用:http://code.google.com/p/xml-apk-parser/
    使用方法:
    AXMLPrinter2只能解析二进制的xml文件:

复制代码 代码如下:

java -jar AXMLPrinter.jar <二进制xml文件名> 

 

解析AndroidManifest.xml文件:

复制代码 代码如下:

java -jar APKParser.jar <apk文件名>