Receiver not registered.

2. 查看BroadcastReceiver API文档,了解到广播的onReceive方法执行完,然后广播就不再处于active状态了。所以当发出信息成功之后,通过Toast.makeText弹出提示告知用户,然后onReceive方法结束,广播的生命周期就结束了。从中还了解到onReceive方法中可以执行Toast.makeText()表现了广播的onReceive方法是在主线程中执行的,否则就无法执行Toast.makeText方法了。

private void createAndRegisterDeliveryIntent() { 
    deliveryReceiver = new BroadcastReceiver(){

        @Override 
        public void onReceive(Context context, Intent intent) { 
            mContext.unregisterReceiver(this); 
           Toast.makeText(context, "message arrived.", Toast.LENGTH_SHORT).show(); 
        } 
    }; 
    IntentFilter filter = new IntentFilter(TxrjConstant.ACTION_DELIVERY_SMS); 
    mContext.registerReceiver(deliveryReceiver, filter); 

3. 查看上面的代码片段红色部分。这条语句不应该出现。因为在Activity的onDestroy()方法中调用了注销方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值