BroadCastReceiver的使用
一、BroadCastReceiver例子
1、静态注册
public class CallReceiver extends BroadcastReceiver {
//收到广播时调用
@Override
public void onReceive(Context context, Intent intent) {
//取出广播中的号码
String number = getResultData();
String newNumber = "17951" + number;
//把修改后的号码放入广播中
setResultData(newNumber);
//拦截是无效的
abortBroadcast();
}
}
然后再AndroidManifest.xml注册:
<receiver android:name="com.itheima.ipdialer.CallReceiver">
<intent-filter >
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>
2、BroadCastReceiver动态注册:
(1)、发送广播
Intent intent=new Intent();
intent.setAction("1.2.3");
sendBroadcast(intent);
(2)、注册广播
//增加过滤
IntentFilter intentFilter = new IntentFilter();
//增加过滤intent内容
intentFilter.addAction("1.2.3");
Receiver receiver = new Receiver();
//向系统注册广播接收器 和intent过滤器
registerReceiver(receiver, intentFilter);
class Receiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals("1.2.3")){
}
}
}
BroadcastReceiver的用处:目前觉得可以做监听之类的功能。

浙公网安备 33010602011771号