BroadcastReceiver的使用简介
来源:互联网 发布:淘宝宝贝排名 编辑:程序博客网 时间:2024/05/22 00:34
尽量用代码进行BroadcastReceiver的注册,因为在用完之后方便关闭注册。 在AndroidManifest中进行注册后,不管改应用程序是否处于活动状态,都会进行监听,比如某个程序时监听 内存 的使用情况。所以关闭无必要的监听可以使程序更好。
首先声明:
private QueryStationsResultReceiver mQueryStationsResultReceiver;//自定义的BroadcastReceiverprivate IntentFilter mQueryStationsResultIntentFilter;
定义继承BroadcastReceiver 的类
public class QueryStationsResultReceiver extends BroadcastReceiver { private boolean mResult; private String mErrorCode; private String mInfo; public QueryStationsResultReceiver() { mResult = false; }//此方法用来接收广播信息 @Override public void onReceive(Context context, Intent intent) {
在fragment初次加载时,初始化intentFilter和broadcaster
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //IntentFilger里的参数为action标识 mQueryStationsResultIntentFilter = new IntentFilter(QueryDataIntentService.QUERY_STATIONS_RESULT_INTENT); mQueryStationsResultReceiver = new QueryStationsResultReceiver();
下面当要用到广播时,进行广播的注册
//此处进行广播注册,两个参数分别为receiver和filter,将receiver和action绑定,用来指定接收哪个广播,getActivity().registerReceiver(mQueryStationsResultReceiver, mQueryStationsResultIntentFilter);//调用service进行数据查询QueryDataIntentService.startActionQueryStations(getActivity(), username, passwd, mRegionId);
查询完数据,在service处发送广播
@Override protected void onHandleIntent(Intent intent) { Intent resultIntent = new Intent(QUERY_STATIONS_RESULT_INTENT);//设置intent的action sendBroadcast(resultIntent);//把intent发送
这时onReceive方法回监听到匹配action的广播
registerReceiver(mQueryStationsResultReceiver, mQueryStationsResultIntentFilter);//重点是这句注册时候指定了哪个action匹配哪个receiver
最后在查询完数据之后我们需要关闭receiver不用再监听了
getActivity().unregisterReceiver(mQueryStationsResultReceiver);
最后说明:QUERY_STATIONS_RESULT_INTENT这个在service里定义的全局静态变量是一个action,作为发送和接收的重要标识。
1 0
- BroadcastReceiver的使用简介
- Android的BroadcastReceiver简介
- [Android] BroadCastReceiver的使用
- Android -- BroadcastReceiver的使用
- BroadcastReceiver的简单使用
- BroadcastReceiver的简单使用
- 【BroadCastReceiver】广播的使用
- Android BroadcastReceiver的使用
- BroadcastReceiver的使用
- BroadcastReceiver组件的使用
- BroadcastReceiver广播的使用
- BroadcastReceiver的基本使用
- BroadcastReceiver的使用
- 【android】BroadcastReceiver的使用
- 9.BroadcastReceiver的使用
- BroadcastReceiver的简单使用
- Android的Service与BroadcastReceiver之四 BroadcastReceiver 简介、开发与配置;发送广播、有序广播;使用BroadcastReceiver接受系统广播
- BroadCastReceiver 简介
- jquery如何获取用户表单提交值
- Educational Codeforces Round 13 (ABCD ....ing)
- C++构造函数与析构函数顺序
- cuda及常用计时方式
- 各种端口的作用
- BroadcastReceiver的使用简介
- Eclipse + PyDev快捷键
- LeetCode 168. Excel Sheet Column Title
- Guava-cache
- mac 命令行配置DNS相关操作
- javascript--第12节-javascript表单处理
- Java读取txt文本内容并写入Excel
- 吉林大学学生邮箱接收服务器地址
- 最小路径覆盖 zoj1525