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的用处:目前觉得可以做监听之类的功能。

 

posted @ 2015-12-04 16:02  ivluowei  阅读(139)  评论(0)    收藏  举报