赞
踩
BroadcastReceiver:广播接收者,用于监听来自系统或者应用程序的广播事件;
一个广播事件可以有多个对应的广播接收者处理。
Android中内置的广播:
获取拦截号码:
// 创建SharedPreferences对象
sp = getSharedPreferences("config", MODE_PRIVATE);
}
public void click(View view) {
// 获取用户输入的拦截号码
String number = et_ipnumber.getText().toString().trim();
//创建Editor对象,保存用户输入的拦截号码
SharedPreferences.Editor editor = sp.edit();
editor.putString("number", number);
editor.commit();
Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT).show();
实现拦截:
//获取拨打的电话号码
String outcallnumber = getResultData();
//创建SharedPreferences对象,获取拦截号码
SharedPreferences sp =
context.getSharedPreferences("config",Context.MODE_PRIVATE);
String number =sp.getString("number","");
//判断是否是拦截电话号码
if(outcallnumber.equals(number)){
//清除电话
setResultData(null);
加入权限后,运行程序,输入拦截号码,运行,发现号码一直出不来,模拟器直接自动重启:
这可能是拦截成功了,没有拦截成功是进入拨号界面,有一串数字且有通话时长。
发送一条自定义的广播,并创建广播类实现接收:
在manifest注册的Receiver中设置action
在onclick方法中,三步实现发送广播(这个send函数是在xml文件里设置的按钮的click)
在manifest中设置优先级:
在MainActivity中设置优先级:
//掉setComponent,打开setPackage:
setComponent调用比setPackage()调用的优先级高\
拦截广播接收者:
指定广播接收者:
一个Receiver接收多个广播:
在广播中传递数据:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。