您的位置:首页 > 移动开发 > Android开发

Android基础之广播

2012-02-06 11:16 246 查看
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处!
All Rights Reserved ! 

广播主要与Service共用,通知Service进行相应操作。

首先写一个过滤器字段,随便定义,如android.provider.Telephony.SMS_RECEIVED。

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)第二种是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行。

常驻型广播与Service一样,即使应用关闭,它仍然存在,会连续进行监控,有则通知操作,如不再使用则要注销广

播;非常驻型广播只在当前Activity存在的情况下起作用,如通知其他Activity常量发生改变等;如不再使用则需要在

ondestroy()方法里注销它。

关于这两种广播,可以区别使用!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: