有两个应用:A.apk和B.apk
1.A通过componentName去访问B的主Activity
ComponentName cn=new ComponentName("com.myandroid.test","com.myandroid.test.MainActivity");//包名,主Activity
Intent intent=new Intent();
intent.setComponent(cn);
startActivity(intent);
2.A通过componentName去访问B的非主Activity
需要在B的AndroidManifest.xml中为指定的非主Activity添加属性exported="true"
<activity android:name="com.myandroid.test.OtherActivity" exported="true"/>
调用代码同1.
3.A访问B的非主Activity
B:<activity android:name="com.myandroid.test.OtherActivity">
<intent-filter>
<action android:name="android.intent.action.xml" />
<data android:scheme="info" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
A:Intent intent = new Intent("com.myandroid.test",Uri.parse("info://OtherActivity"));
startActivity(intent);
【如果出现两个Activity的action和category和data相同时,会出现选择】