动态BroadcastReceiver封装
来源:互联网 发布:匈牙利算法详解 编辑:程序博客网 时间:2024/06/06 04:28
在发送前先写个权限,要不然上线的时候什么检查工具什么的,会说你的广播没有设置权限要你设置.如:
<permission android:name="com.basebroadcastreceiver.receiver_permission" /><uses-permission android:name="com.basebroadcastreceiver.receiver_permission" />
两个都要com.basebroadcastreceiver这个是你 项目的包名,自己换。
权限好了,那么开始发送广播吧:
Intent mIntent = new Intent(TYPE_UPDATA);
mIntent.putExtra(“a”, “我来了”);
sendBroadcast(mIntent,Manifest.permission.receiver_permission);
既然发送了就应该有接收的,下面这个ReceiverActivity 是我将广播写到里面了,方面继承它的activity使用。
/**
* Copyright (c)
* @file_name ReceiverActivity .java
* @class com.basebroadcastreceiver.BaseActivity
* @create 上午11:22:20
*/
package com.basebroadcastreceiver;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
/**
*
*
*
* 上午11:22:20
*
* @author ZH-SW-Mengyf
* @version 1.0.0
*/
public class ReceiverActivity extends Activity {
/* 只用与继承该activity之间进行数据刷新的 /
protected final String TYPE_UPDATA=”up_data”;
private OnReceiverCallbackListener mReceiverListener;/** * 定义一个数据更新广播接收类 */private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (mReceiverListener!=null) { mReceiverListener.receiverUpdata(intent); } }};/** * 注册数据更新广播 */protected void registerBoradcastReceiver() { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(TYPE_UPDATA); // 注册广播 registerReceiver(mBroadcastReceiver, intentFilter);}/** * 设置广播回调监听 */protected void setReceiverListener(OnReceiverCallbackListener receiverListener) { this.mReceiverListener=receiverListener;}/** * 实现一个广播回调监听,只有只类才能实现,用于activity之间刷新界面数据的时候用 * * <p></p> * 上午11:46:10 * * @author ZH-SW-Mengyf * @version 1.0.0 */protected interface OnReceiverCallbackListener{ /** * 广播刷新数据的时候使用 * @param intent */ void receiverUpdata(Intent intent);}@Overrideprotected void onDestroy() { super.onDestroy(); //销毁监听 if (mBroadcastReceiver != null) { unregisterReceiver(mBroadcastReceiver); }}
}
继承它的activity如何使用呢
public class MainActivity extends ReceiverActivity implements OnReceiverCallbackListener{
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); registerBoradcastReceiver(); setReceiverListener(this);}@Overridepublic void receiverUpdata(Intent intent) {Log.d("myf", "来数据了"+intent.getStringExtra("a"));}
- 动态BroadcastReceiver封装
- 【Android】封装BroadcastReceiver
- BroadCastReceiver 静态动态注册
- BroadCastReceiver 静态动态注册
- Android:动态注册BroadcastReceiver
- BroadcastReceiver 动态注册
- BroadcastReceiver组件 动态注册
- BroadcastReceiver的简单封装使用
- 动态设置BroadcastReceiver的IntentFilter
- BroadcastReceiver register 广播的动态注册方式
- broadcastreceiver接受数据 动态创建控件
- BroadcastReceiver(静态注册和动态注册)
- 用动态BroadcastReceiver传参跳转Activity
- 动态注册BroadcastReceiver无法被alarmManager启用???
- BroadcastReceiver动态注册实现短信接收
- BroadcastReceiver之动态广播 demo+笔记
- BroadcastReceiver实现动态监测网络是否可用
- android BroadcastReceiver动态监听网络连接
- 黑书题目提交方式
- HDU 5925 Coconuts(离散化+bfs, 好题)
- Hawstein's Blog (OI相关转载)
- checkbox和onKeyListener
- Linux的打开文件表:打开文件表、文件描述符、打开的文件句柄以及i-node之间的关系
- 动态BroadcastReceiver封装
- jquery冲突的关键字nodeName、nodeValue和nodeType!
- 今天开始写博客
- 程序员面试指南之如何仅用递归函数和栈操作逆序一个栈
- 链表的创建等一系列操作
- 求第n小的质数
- 填空题空格解决方案
- 采用硬链接快速删除大表测试
- springMVC常用注解