Anroid8.1 BroadcastReceiver的使用

最近在做静默安装的时候发现静态广播一直收不到,原来8.0和6.0不一样,就写了一个例子测试一下,代码如下:
1、在AndroidManifest.xml中注册广播

 <receiver
            android:name=".MyBroadCastReciver"
            android:enabled="true"
            android:exported="true" >
            <!-- 这个action的配置如果是低于4级是接收不到广播的,这里是个坑 com.x.x.x 之前配置3级,就怎么都接收不到广播-->
            <intent-filter>
                <action android:name="com.zqc.testdemo.MyBroadCastReciver"></action>
            </intent-filter>
        </receiver>

2、代码中使用

public class MainActivity extends AppCompatActivity {

    private String datas="你好,我是调用者,mainApp.会返回给你数据,请查收!!!";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button = (Button)findViewById(R.id.button) ;
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent("com.zqc.testdemo.MyBroadCastReciver");
                //ComponentName("当前类的包名","包名.这条广播的接收器的类名")
                intent.setComponent(new ComponentName("com.zqc.testdemo",
                        "com.zqc.testdemo.MyBroadCastReciver"));
                intent.putExtra("mainApp_send_data",datas);
                //发送标准广播
                sendBroadcast(intent);
            }
        });

    }

}
public class MyBroadCastReciver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

        String message = intent.getStringExtra("mainApp_send_data");
        Log.e("MyBroadCastReciver"," -- 接收到的消息 -- = "+message);


    }

}

3、打印如下

2019-12-17 11:57:36.816 29603-29603/com.zqc.testdemo E/MyBroadCastReciver:  -- 接收到的消息 -- = 你好,我是调用者,mainApp.会返回给你数据,请查收!!!
2019-12-17 11:57:36.866 29603-29603/com.zqc.testdemo E/MyBroadCastReciver:  -- 接收到的消息 -- = 你好,我是调用者,mainApp.会返回给你数据,请查收!!!
2019-12-17 11:57:36.951 29603-29603/com.zqc.testdemo E/MyBroadCastReciver:  -- 接收到的消息 -- = 你好,我是调用者,mainApp.会返回给你数据,请查收!!!
2019-12-17 11:57:37.630 29603-29603/com.zqc.testdemo E/MyBroadCastReciver:  -- 接收到的消息 -- = 你好,我是调用者,mainApp.会返回给你数据,请查收!!!
2019-12-17 11:58:01.597 29603-29603/com.zqc.testdemo E/MyBroadCastReciver:  -- 接收到的消息 -- = 你好,我是调用者,mainApp.会返回给你数据,请查收!!!
2019-12-17 11:58:02.441 29603-29603/com.zqc.testdemo E/MyBroadCastReciver:  -- 接收到的消息 -- = 你好,我是调用者,mainApp.会返回给你数据,请查收!!!
2019-12-17 11:58:03.085 29603-29603/com.zqc.testdemo E/MyBroadCastReciver:  -- 接收到的消息 -- = 你好,我是调用者,mainApp.会返回给你数据,请查收!!!
2019-12-17 11:58:54.938 892-909/system_process W/BroadcastQueue: Background execution not allowed: receiving Intent { act=com.zqc.testdemo.MyBroadCastReciver flg=0x400010 } to com.zqc.testdemo/.MyBroadCastReciver

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值