贵州潜动力科技致力于为企事业单位提供互联网软件、APP、TV的开发及大数据分析服务!关于我们电话:0851-86747636
贵州潜动力
资料库
android广播的注册和注销必须一对一的出现,否则会出现问题的
【摘要】广播的注册和注销必须一对一的出现,否则会出现问题的,因此,贵州大数据分析需要把注册写到activity的onResume方法中,当页面处于显示状态下,广播处于注册状态,把注销写到activity的onPause方法中,当当前页面处于onPause状态下,广播处于注销状态,经测试问题解决,不再出现因为广播的注册和注销异常的原因导致应用闪退的情况。//2016-12-28 yuer last update//异步加载数据的时候的加载对话框private boolean broadcastReciver = false;//...

广播的注册和注销必须一对一的出现,否则会出现问题的,因此,贵州大数据分析需要把注册写到activity



onResume方法中,当页面处于显示状态下,广播处于注册状态,把注销写到activityonPause方法中,当当前页面处于onPause状态下,广播处于注销状态,经测试问题解决,不再出现因为广播的注册和注销异常的原因导致应用闪退的情况。



//2016-12-28 yuer last update

//异步加载数据的时候的加载对话框

private boolean broadcastReciver = false;//是否开启广播的标识位,默认false为关闭,目的是注销广播时需要先判断广播是否开启,如果直接注释会报空指针

MyBroadcastReciver myBroadcastReciver = null;//自定义广播



/**

* 2016-12-29 yuer last update

* 贵阳网站建设把注册广播放到onResume中注册,贵州网站建设把注销广播放到onPause中注销,这样才会成双成对出现,才不会报错。

*/

@Override

protected void onResume() {

// TODO Auto-generated method stub

super.onResume();


       /**

        *2016-12-29 yuer last update

* 贵阳软件开发调用广播

* 说明:注册广播,必须放在调用服务的前面

*/

broadcastReciver = true;//表示广播开启

IntentFilter intentFilter = new IntentFilter();

       //com.qiandl.restaurant.clerk.positionStatus 为发出广播时,设定的action,可以任意设置,但必须保证一致

       intentFilter.addAction("com.qiandl.restaurant.clerk");

       //多次调用会接收多次  


       myBroadcastReciver = new MyBroadcastReciver();

       getApplicationContext().registerReceiver(myBroadcastReciver, intentFilter);



}


/**

* 2016-12-29 yuer last udpate

* 贵州微信小程序开发把注销广播放到这里来处理

*/

@Override

protected void onPause() {

// TODO Auto-generated method stub

super.onPause();


       // 在结束时可取消广播,不结束广播,则该广播一直开启接收,如果取消,则只能接收一次广播,必须重新创建activity后,方可接收新广播  

       //2016-12-29 yuer update 这里必须先判断当前广播是否开启,如果处于开启状态,则再注销广播

       if(broadcastReciver){

           unregisterReceiver(myBroadcastReciver);

           //context.unregisterReceiver(this);

       }


}