首页 > 代码库 > 深入广播

深入广播

深入广播

     单向 群发,只要过滤条件匹配,都能接收到


     无序广播

     有序广播


     发送有序广播

     sendOrderedBroadcast(intent, null);//发送有序广播

     设置优先级:

     android:priority="1000"


     拦截:在高优先级的那边进行拦截


     //拦截广播

     abortBroadcast();



拦截短信

     权限

     <uses-permission android:name="android.permission.RECEIVE_SMS" />

     过滤条件

     <intent-filter android:priority="1000">

           <action android:name="android.provider.Telephony.SMS_RECEIVED"/>

       </intent-filter>


     //拦截

     abortBroadcast();



拦截拨号 修改拨号

     权限

     <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>


     过滤条件

     <intent-filter android:priority="1000">

       <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>

     </intent-filter>


     String resultData = http://www.mamicode.com/getResultData();

     Log.e("", ""+resultData);

     //修改拨出去的号码

     setResultData("0592"+resultData);  


     setResultData("");电话就直接关闭



intent意图

     显示意图

     隐式意图:过滤条件满足,没有明确指出


过滤条件

     action

     categery


     更多条件

     android:scheme="http"  机制,命名机制

     android:host="www.baidu.com"  主机名

     android:port="8080"    端口号

     android:path="/android"路径


     android:mimeType="image/png"


     点击开启

       Intent intent = new Intent();

       intent.setAction("www.baidu.com.cn");  

       Uri data = http://www.mamicode.com/Uri.parse("http://www.baidu.com:8080/android");

       //intent.setData(data );  

       //intent.setType("image/png");

       intent.setDataAndType(data, "image/png");    

       startActivity(intent );


本文出自 “一路向前” 博客,请务必保留此出处http://963916071.blog.51cto.com/8792403/1411326