BroadCastReceiver
广播接收者案例_ip拨号器
(1)定义一个类继承BroadCastReceiver
public class OutGoingCallReceiver extends BroadcastReceiver {//当接收到外拨电话的事件的时候回执行这个方法@Overridepublic 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]在当前的号码前面加上一个17951setResultData(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方法就会执行
无序广播:类似新闻联播:广播不可以被终止 数据不可以被修改
有序广播:类似中央发送的红头文件 按照优先级一级一级的接收 有序广播可以被终止 数据可以被修改
特殊广播接收者
比如操作特别频繁的广播事件 屏幕的锁屏和解锁 电池电量的变化 这样的广播接收者在清单文件里面注册无效

浙公网安备 33010602011771号