使用Intent跨进程访问

有两个应用: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相同时,会出现选择】


你可能感兴趣的:(使用Intent跨进程访问)