Android添加自定义广播事件(带多个参数)
来源:互联网 发布:mac获取最高权限 编辑:程序博客网 时间:2024/05/29 11:58
1. 发送进程或者服务:只需要发送事件,可以附带参数
1.1 定义事件名称:android.intent.action.ACTION_KEYBOARD_EVENT
1.2 在改进程/服务有需要发送该广播的地方
mContext.sendBroadcast(new Intent("android.intent.action.ACTION_KEYBOARD_EVENT"));
String KEYBOARD_EVENT = "android.intent.action.ACTION_KEYBOARD_EVENT";
Intent myIntent = new Intent(KEYBOARD_EVENT);
String DOWN;
DOWN = (true == down) ? "1" : "0";
myIntent.putExtra("KEYCODE", Integer.toString(KeyEvent.KEYCODE_SEARCH));
//第一个参数,KEYCODE是索引字,用于接收解析用
myIntent.putExtra("DOWN", DOWN); //第二个参数,后面可以增加其他参数,DOWN是索引字
mContext.sendBroadcast(myIntent);
即可。
2. 接受进程或者服务:负责接收并做相应想要做的事情
2.1 该类里面定义 广播事件描述
private static final String KEYBOARD_EVENT = "android.intent.action.ACTION_KEYBOARD_EVENT";
2.2 注册广播守候事件
在该类的构造函数或者onCreate函数里面执行下面注册过程,或者在有需要接收的时候才注册,反正就需要执行下面注册过程就行。
IntentFilter filter = new IntentFilter();
filter.addAction(KEYBOARD_EVENT);
Log.d(TAG, "addAction and register: " + KEYBOARD_EVENT);
this.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (KEYBOARD_EVENT.equals(intent.getAction())) {
Log.d(TAG, "I have receive: " + KEYBOARD_EVENT);
String KEYCODE = intent.getExtras().getString("KEYCODE");
//获取到当前是自己想要的广播后,通过索引字获取对应的值,如keycode
String DOWN = intent.getExtras().getString("DOWN"); //同上
Log.d(TAG, "I have receive : " + KEYBOARD_EVENT + "KEYCODE:" + KEYCODE + " isDown:" + DOWN);//使用这几个参数
} else
{
//NO NOTHING
}
}
}, filter);
2.3 该类包包含
import android.content.BroadcastReceiver;
import android.content.IntentFilter;
1.1 定义事件名称:android.intent.action.ACTION_KEYBOARD_EVENT
1.2 在改进程/服务有需要发送该广播的地方
String KEYBOARD_EVENT = "android.intent.action.ACTION_KEYBOARD_EVENT";
Intent myIntent = new Intent(KEYBOARD_EVENT);
String DOWN;
DOWN = (true == down) ? "1" : "0";
myIntent.putExtra("KEYCODE", Integer.toString(KeyEvent.KEYCODE_SEARCH));
//第一个参数,KEYCODE是索引字,用于接收解析用
myIntent.putExtra("DOWN", DOWN); //第二个参数,后面可以增加其他参数,DOWN是索引字
mContext.sendBroadcast(myIntent);
即可。
2. 接受进程或者服务:负责接收并做相应想要做的事情
2.1 该类里面定义 广播事件描述
private static final String KEYBOARD_EVENT = "android.intent.action.ACTION_KEYBOARD_EVENT";
2.2 注册广播守候事件
在该类的构造函数或者onCreate函数里面执行下面注册过程,或者在有需要接收的时候才注册,反正就需要执行下面注册过程就行。
IntentFilter filter = new IntentFilter();
filter.addAction(KEYBOARD_EVENT);
Log.d(TAG, "addAction and register: " + KEYBOARD_EVENT);
this.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (KEYBOARD_EVENT.equals(intent.getAction())) {
String KEYCODE = intent.getExtras().getString("KEYCODE");
//获取到当前是自己想要的广播后,通过索引字获取对应的值,如keycode
String DOWN = intent.getExtras().getString("DOWN"); //同上
Log.d(TAG, "I have receive : " + KEYBOARD_EVENT + "KEYCODE:" + KEYCODE + " isDown:" + DOWN);//使用这几个参数
} else
{
//NO NOTHING
}
}
}, filter);
2.3 该类包包含
import android.content.BroadcastReceiver;
import android.content.IntentFilter;
- Android添加自定义广播事件(带多个参数)
- Android 添加自定义BOOT_COMPLETED广播避免延迟
- 广播和自定义广播事件
- 自定义广播事件
- 42.android广播-自定义广播
- Android为自定义控件添加事件
- android自定义日历并添加事件
- Android为自定义控件添加事件
- Android自定义View与添加点击事件
- cocos2d - JS 自定义事件(广播)
- Android 广播事件机制
- android广播事件大全
- Android广播事件大全
- Android 屏幕事件广播
- android的广播事件
- Android广播事件机制
- android 广播action事件
- Android 自定义广播
- secureCRT The remote system refused the connection.
- poj2039
- iptables预防DDOS和CC攻击配置
- [smart210] UART设置与编程
- jsp servlet 实现登陆验证码
- Android添加自定义广播事件(带多个参数)
- iphone开发中的一些小技巧
- 怎样从一名程序员过度到项目经理
- 角点检测和匹配之Harris与FAST角点检测
- Service与AlarmManager-BroadcastReceiver能否在CPU沉睡下工作
- hdu_1698 Just a Hook
- set常用操作简介
- Linq 插入问题 不能添加其键值已在使用中的实体
- 《GLIB C MANUAL》--1.1.入门