关于广播的实现机制

IntentFilter intentFilter = newIntentFilter("android.provider.Telephony.SMS_RECEIVED");

//注册广播   
BroadCastReceiverActivity.this.registerReceiver(smsBroadCastReceiver,intentFilter);  
一种是在AndroidManifest.xml中配置广播

<?xml version="1.0"encoding="utf-8"?>  
<manifestxmlns:android="http://schemas.android.com/apk/res/android"  
     package="spl.broadCastReceiver"  
     android:versionCode="1" 
     android:versionName="1.0"> 
   <application android:icon="@drawable/icon"android:label="@string/app_name">
       <activity android:name=".BroadCastReceiverActivity"  
                  android:label="@string/app_name">  
            <intent-filter>  
                <actionandroid:name="android.intent.action.MAIN" />  
                <categoryandroid:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
       </activity>  
           
       <!--广播注册-->  
       <receiver android:name=".SmsBroadCastReceiver">  
            <intent-filterandroid:priority="20">  
                <actionandroid:name="android.provider.Telephony.SMS_RECEIVED"/>  
            </intent-filter>  
       </receiver>  
           
   </application>  
      
   <uses-sdk android:minSdkVersion="7" />  
      
   <!-- 权限申请 -->  
   <uses-permissionandroid:name="android.permission.RECEIVE_SMS"></uses-permission>  
      
</manifest>   

两种注册类型的区别是:

    1)第一种不是常驻型广播,也就是说广播跟随程序的生命周期。

    2)第二种是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。
作者:liuxian13183 发表于2012-2-6 11:16:26 原文链接
阅读:5 评论:0 查看评论

你可能感兴趣的:(广播)