android基础 BroadCastReciver
来源:互联网 发布:好看的小说知乎2017 编辑:程序博客网 时间:2024/06/06 15:45
BroadCastReciver 广播接收器
需要创建一个接收器自定义一个类来继承BroadCastReciver 重写OnRecive方法在方法里判断获取到的action是不是你注册的动作
如果是执行你想要让其进行的操作
如果是自己发送的广播就需要在清单文件中或者是activity中注册 一定要在Ondestroy中解除注册
如果是系统广播也有上述两种注册方式不过都不用手动来发送也不用再ondestroy方法中来解除注册
在activity中注册
/**发送自己的广播先注册**/
receiver=new recever();
IntentFilter filter=new IntentFilter("XXX");//创建意图过滤器
registerReceiver(receiver, filter);//注册
Intent intent=new Intent();
intent.setAction("XXX");
intent.putExtra("XK", "whta's happen?");
sendBroadcast(intent);//发送广播
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
unregisterReceiver(receiver);//解除注册
}
在清单文件中注册于activity同级
<receiver android:name="com.example.reverss.MyResiver">
<intent-filter >
<action android:name="android.intent.action.AIRPLANE_MODE"/>
</intent-filter>
</receiver>
简单的实例
发送端
package com.example.resiver;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.IntentFilter;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
recever receiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setContentView(R.layout.activity_main);
/**发送自己的广播先注册**/
receiver=new recever();
IntentFilter filter=new IntentFilter("XXX");//创建意图过滤器
registerReceiver(receiver, filter);//注册
Intent intent=new Intent();
intent.setAction("XXX");
intent.putExtra("XK", "whta's happen?");//intent传值
sendBroadcast(intent);
///**接受系统广播**/
//receiver=new recever();
////创建一个意图过滤器筛选这个动作
//IntentFilter filter=new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
//registerReceiver(receiver, filter);//注册
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
unregisterReceiver(receiver);//解除注册
}
}
接收器
package com.example.resiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class recever extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
//String action=intent.getAction();//当获取的到动作是电池改变的时候
//if(action.equals(Intent.ACTION_BATTERY_CHANGED)){
//System.out.println("我监听到了电池改变");
//}
String action=intent.getAction();
if(action.equals("XXX")){
String msg=intent.getStringExtra("XK");//获取传递过来的值
System.out.println("msg:"+msg);
}
}
}
- android基础 BroadCastReciver
- android BroadcastReciver 笔记
- Android BroadCastReciver学习笔记
- 80 Android BroadcastReciver
- Android BroadcastReciver(广播)
- BroadCastReciver
- Android 四大组件生命周期:BroadCastReciver
- android BroadcastReciver初步研究--注册部分
- android 广播 BroadcastReciver写成内部类问题
- Android学习——服务Service与广播接收者BroadcastReciver
- Android的BroadcastReciver收不到Broadcast(系统广播)的原因之一
- Android的BroadcastReciver收不到Broadcast(系统广播)的原因之一
- Android的BroadcastReciver收不到Broadcast(系统广播)的原因之一
- Android的BroadcastReciver,增加 addDataScheme("file") 才能收到SD卡插拔事件的原因分析 -- 浅析android事件过滤策略
- Notification+BroadcastReciver+Service实现推送下载
- Broadcast和BroadcastReciver的安全使用
- android基础--activity基础
- 【Android基础】AsyncTask基础
- 11.5 、类别 Category
- STL中基本容器string、vector、list、deque、set、map之间的区别
- STL 标准容器的选择
- js代码如何换行
- 图的存储结构(存储、遍历)
- android基础 BroadCastReciver
- 陌生人与富人
- 串口资料
- 动态规划:从新手到专家(关于动态规划算法最精彩的中文描述,没有之一)
- 23中设计模式01----简单工厂模式
- 正向代理和反向代理
- spring缓存集成memcache
- JavaScript学习笔记:用JavaScript部分小功能的实现
- 删除 OpenStack Nova Volume 时遇到的 error_deleting 问题