广播接收器可以接收广播,分为动态注册(代码实现)和静态注册(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(安卓)installed app, never used, cannot receiver Broa
  2. Android(安卓)关闭所有的Activity
  3. Android(安卓)Adb Analyse
  4. IPPH-发送广播
  5. Android聊天软件开发(基于网易云IM即时通讯)——注册账号(二)
  6. Android(安卓)UDP广播包抓取
  7. android 中 intent和intent action大全
  8. Android(安卓)获取电池电量
  9. Android:媒体按键消息

随机推荐

  1. Android(安卓)SDK 和Oralce 也有冲突
  2. Android通信之 Bluetooth
  3. android的Handler
  4. Android(安卓)Manifest.permission权限
  5. Android安全模型之Android安全机制(进程通
  6. Android(安卓)Fragments 详细使用详细介
  7. Android——Handler和AsyncTask的使用
  8. 应用phprpc协议实现Android客户端的一些
  9. Windows环境下Android(安卓)Studio v1.0
  10. 利用HTML5开发Android笔记(下篇)