您的位置:首页 > 其它

BroadCastReceiver的使用

2015-12-04 16:02 225 查看
一、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的用处:目前觉得可以做监听之类的功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: