您的位置:首页 > 移动开发

启动另一个App/apk中的Activity(A应用打开B应用)

2017-06-02 11:49 295 查看
Android提供了在一个App中启动另一个App中的Activity的能力,这使我们的程序很容易就可以调用其他程序的功能,从而就丰富了我们App的功能。比如在微信中发送一个位置信息,对方可以点击这个位置信息启动腾讯地图并导航。这个场景在现实中作用很大,尤其是朋友在陌生的环境找不到对方时,这个功能简直就是救星。

因为每个App都会运行在自己的虚拟机中,每个虚拟机跑在一个进程中。但仔细一想,能够称为一个进程,前提是这个App必须要运行起来才行。而Android提供的能力,是不需要另一个App启动就可以将其特定的Activity启动起来的。

我们有至少两种办法达到启动另一个App中的Activity,

第一种用action启动

第二种用intent设置className或component的办法启动。举例如下。新建两个项目ProjectA和ProjectB

本文采用第一种方式:

ProjectA:AndroidManifest.xml配置





ProjectB :MainActivity代码

Intent intent = new Intent();
ComponentName cn = new ComponentName("com.cosw.qhseitsm.sdk.test","com.cosw.tsm.sdk.test.SplashActivity");
intent.setComponent(cn);
intent.setAction("android.intent.action.MAIN");
startActivityForResult(intent, RESULT_OK);在A中调用以上代码即可实现在A中打开B应用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息