首页 > 代码库 > BroadCastReceiver
BroadCastReceiver
广播接收者案例_ip拨号器
(1)定义一个类继承BroadCastReceiver
public class OutGoingCallReceiver extends BroadcastReceiver {
//当接收到外拨电话的事件的时候回执行这个方法
@Override
public void onReceive(Context context, Intent intent) {
//[0]获取到我们保存的ip号码
SharedPreferences sp = context.getSharedPreferences("config", 0);
//[0.1]获取我们保存的ip号码
String ipnumber = sp.getString("ipnumber", "");
//[1]获取当前我们要拨打的电话号码
String currentNumber = getResultData();
//[1.1]判断拨打的电话是否是长途
if (currentNumber.startsWith("0")) {
//[2]在当前的号码前面加上一个17951
setResultData(ipnumber+currentNumber);
}
}
}
(2)在清单文件里面配置一下
<!--配置广播接收者 -->
<receiver android:name="com.itheima.ipdail.OutGoingCallReceiver">
<intent-filter >
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>
(3)当我们配置的action 的事件发生了 onReceive方法就会执行
无序广播:类似新闻联播:广播不可以被终止 数据不可以被修改
有序广播:类似中央发送的红头文件 按照优先级一级一级的接收 有序广播可以被终止 数据可以被修改
特殊广播接收者
比如操作特别频繁的广播事件 屏幕的锁屏和解锁 电池电量的变化 这样的广播接收者在清单文件里面注册无效
BroadCastReceiver
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。