当前位置:文档之家› 一个apk调用另一个apk的某个activity

一个apk调用另一个apk的某个activity


功能:Caller.apk调用Callee.apk中的CalleeMainActivity和CalleeLowerActivity。

定义:
Caller.apk:去调用的apk, 包名为com.caller
Callee.apk:被调用的apk, 包名为com.callee
CalleeMainActivity:manifest.xml中的intent-filter字段带有的activity
CalleeLowerActivity:manifest.xml中的intent-filter字段不带的activity

做法:
1、需要在Caller.apk的manifest.xml中添加需要调用的activity的声明:











2、Caller.apk中实现的调用代码:

try{
ComponentName toActivity = new ComponentName(需要启动apk的包名,需要启动的activity);

Intent intent = new Intent();
intent.setComponent(toActivity);
intent.setAction("android.intent.action.VIEW");

CurActivity.this.startActivity(intent);
}catch(Exception e){
Log.v("go to apk error","------>"+e.toString());
}




3、对于启动类似CalleeMainActivity的activity,以上步骤就够了,但是对于类似CalleeLowerActivity的activity,还需要在Callee.apk的manifest.xml中添加一些代码,有两种处理方式:

A.最简单,只要在Callee.apk的manifest.xml中的CalleeLowerActivity对应的activity字段中添加android:exported="true"即可。
B.将A的设置的exported设置为false,然后两个apk协商一个ShareUserId放在各自的manifest.xml中,这种做法可以实现只有知道ShareUserId的apk才能调用。

相关主题
文本预览
相关文档 最新文档