Android学习笔记——BroadcastReceiver
来源:互联网 发布:淘宝预约快递上门取件 编辑:程序博客网 时间:2024/06/06 00:57
BroadcastReceiver的静态注册和动态注册
注册广播的方式
1.动态注册(在*.java代码中注册)
2.静态注册(在AndroidManifest.xml中注册receiver)
例:动态注册,监听网络变化
MainActivity.java
1. 声明两个数据成员
private IntentFilter intentFilter; private NetworkChangeReceiver networkChangeReceiver;
2.在onCreate方法里注册广播
intentFilter = new IntentFilter(); intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); //要监听的广播(网络变化) networkChangeReceiver = new NetworkChangeReceiver(); registerReceiver(networkChangeReceiver, intentFilter); //注册
3.重写MainActivity的onDestory方法,取消注册
@Override protected void onDestroy() { super.onDestroy(); localBroadcastManager.unregisterReceiver(networkChangeReceiver); //取消注册 }
4.创建一个内部类NetworkChangeReceiver继承广播接收器BroadcastReceiver
class NetworkChangeReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectionManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo(); if(networkInfo!=null && networkInfo.isAvailable()){ Toast.makeText(context, "network is available", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(context, "network is unavailable", Toast.LENGTH_SHORT).show(); } } }
5.在AndroidManifest.xml内加入查看系统网络状态的权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
6.运行程序,在打开或关闭网络时就会有相应提示,即使按下Home键,打开其他应用也能检测到网络状态变化并发送广播(但如果按返回键则不行,返回会自动调用onDestroy方法取消注册的广播。)
例:静态注册,实现开机启动
1.新建类继承BroadcastReceiver,重写onReceive方法
public class BootCompleteReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "Boot Complete", Toast.LENGTH_LONG).show); }}
2.在AndroidManifest中声明开机启动权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
3.在AndroidManifest中静态注册广播接收器
<receiver android:name=".BootCompleteReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver>
4.把程序安装在手机上,重启手机后,就会看到发出的广播”Boot Complete”
0 0
- Android学习笔记21——BroadcastReceiver
- Android学习笔记——BroadcastReceiver
- Android BroadcastReceiver 学习笔记
- 笔记:学习 Android-BroadcastReceiver
- android学习笔记——BroadcastReceiver广播接收器初学习
- android学习笔记——BroadcastReceiver实现强制下线
- Android学习——BroadcastReceiver
- android学习笔记之BroadcastReceiver
- Android学习笔记之BroadcastReceiver
- Android学习笔记之BroadcastReceiver
- Android学习笔记6---BroadcastReceiver
- android学习——BroadCastReceiver 简介
- android学习笔记之六广播(BroadcastReceiver)
- android学习笔记之六广播(BroadcastReceiver)
- android学习笔记之BroadcastReceiver应用详解
- Android学习笔记--四大组件之BroadcastReceiver
- Android应用开发学习笔记之BroadcastReceiver
- Android学习笔记之二十 BroadcastReceiver
- "尚学堂杯"哈尔滨理工大学第七届程序设计竞赛 G(2331) Great Atm(二进制)(思路)
- POJ
- 使用tomcat的hostmanger
- 【Shiro】shiro在springmvc里面的集成使用
- Ubuntu 14.04下安装ss及proxychains
- Android学习笔记——BroadcastReceiver
- 关于运行bat文件的常见问题
- OOP
- 蓝桥杯模拟赛-猜算式
- 创建maven web项目时,没有web.xml文件
- Gradle龟速的一刀切
- 百度地图使用模拟器报错java.lang.IllegalArgumentException: No config chosen
- Android加载大图片OOM解决方法
- 1060: [ZJOI2007]时态同步