使用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相同时,会出现选择】


转载于:https://my.oschina.net/u/1429620/blog/265188

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值