广播接收器可以接收广播,分为动态注册(代码实现)和静态注册(AndroidManifest中注册)

动态注册示例代码:

public class Main2Activity extends AppCompatActivity {    private IntentFilter intentFilter;    private BroadcastReceiver broadcastReceiver;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main2);        intentFilter=new IntentFilter();        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");        broadcastReceiver=new BroadcastReceiver() {            @Override            public void onReceive(Context context, Intent intent) {                ConnectivityManager connectivityManager= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);                NetworkInfo networkInfo=connectivityManager.getActiveNetworkInfo();                if (networkInfo!=null&&networkInfo.isAvailable()){                    System.out.println("network is available");                }else {                    System.out.println("network is unavailable");                }            }        };        registerReceiver(broadcastReceiver,intentFilter);    }    @Override    protected void onDestroy() {        super.onDestroy();        unregisterReceiver(broadcastReceiver);    }}

AndroidManifest中静态注册

                                                        

 

广播不允许开启线程,所以不要在receive()中写耗时的操作,通常广播接收器接收到广播之后打开程序的其他组件

 

广播分为标准广播和有序广播

标准广播:异步执行的广播,可以被其他广播接收器同时接收,效率高

有序广播:同步执行的广播,同一时间只能有一个广播器可以接收,优先级高的广播接收器先收到消息,可以拦截

发送标准广播:

Intent intent=new Intent("com.example.administrator.layouttest002.Test");sendBroadcast(intent);

发送有序广播:

Intent intent=new Intent("com.example.administrator.layouttest002.Test");sendOrderedBroadcast(intent,null);

有序广播截断

abortBroadcase();

本地广播

LocalBroadcastManager用这个类发送广播,注册广播接收器

(具体代码就不放了,和广播同理)

 

广播可以用在BaseActivity类中实现任何activity的强制下线功能

更多相关文章

  1. [置顶] Android常用功能代码
  2. android 代码中设置字体大小
  3. Android用代码安装APK,不用选择“打包安装程序”
  4. Android 关于wifi管理的代码
  5. Android 屏幕截图 代码
  6. 转:android 实现 流媒体 播放远程mp3文件 代码
  7. Android 笔记.代码段
  8. Android 购物车加减功能的实现代码
  9. Android几个常用功能代码(校园助手开发笔记)

随机推荐

  1. Android EventBus使用,粘性事件postStick
  2. Android性能优化(5):APK瘦身优化
  3. Android崩溃后重启
  4. 1、android源代码下载与跟踪
  5. Android如何使用百度地图
  6. Android下得到Home键按下的消息
  7. Android AutoCompleteTextView控件实现类
  8. Android Gradle Study
  9. 绘图机制
  10. 【Android Demo】图片之滑动效果(Gallery