Android8.1 两个独立app间静态广播的发送与接收
Android8之后取消了大部分的静态广播的注册,可以参考广播限制,使用以前发送广播的方式是不能够调起注册的静态广播的。这里直接用跨进程(两个APP)通信的方式进行展示,在同一个进程中也是一样的:
1 ) 接收广播app1的manifest配置:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ff.calendar">
<receiver
android:name="com.ff.auto.calendar.NetStateBroadcast"
android:exported="true">
<intent-filter>
<action android:name="com.ff.calendar.action.FIVE_FINGER"/>
</intent-filter>
</receiver>
2 ) 发送广播app2:
Intent intent = new Intent("com.ff.calendar.action.FIVE_FINGER");
intent.setComponent(new ComponentName("com.ff.calendar","com.fuxi.auto.calendar.NetStateBroadcast"));
sendBroadcast(intent);
3 ) 说明:
action : com.ff.calendar.action.FIVE_FINGER
接收app1包名: com.ff.calendar
接收app1的receiver: com.fuxi.auto.calendar.NetStateBroadcast
本文介绍了在Android8.1中,如何在两个独立的应用之间进行静态广播的发送与接收。由于Android8.1对静态广播的限制,传统方式无法触发注册的静态广播。文中通过跨进程通信的示例详细阐述了实现方法,包括接收端的manifest配置、发送端的广播发送以及具体的广播Action和Receiver信息。

578

被折叠的 条评论
为什么被折叠?



