`
hualikejava
  • 浏览: 169623 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android 注册广播的两种方式区别

阅读更多

  1.常驻型广播
  常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到,
  他的注册方式就是在你的应用程序中的AndroidManifast.xml进行注册。通常说这种方式是静态注册
  下面是配置例子

   <!-- 桌面 -->
  <receiver android:name=".widget.DeskWidgeWeather">
  <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_weather_provider" />
  <intent-filter>
   <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
   <action android:name="action_weather"/>
  </intent-filter>
 </receiver>

 

  2.非常驻型广播
   当应用程序结束了,广播自然就没有了,比如你在activity中的onCreate或者onResume中注册广播接收器
   在onDestory中卸载广播接收器。这样你的广播接收器就一个非常驻型的了。这种也叫动态注册。
   比如写一个监听SDcard状态的广播接收器

   SdcardStateChanageReceiver sdcardStateReceiver;
 @Override
 protected void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  IntentFilter filter = new IntentFilter();
  filter.addAction(Intent.ACTION_MEDIA_REMOVED);
  filter.addAction(Intent.ACTION_MEDIA_EJECT);
  filter.addAction(Intent.ACTION_MEDIA_MOUNTED);
  filter.addDataScheme("file");
  sdcardStateReceiver = new SdcardStateChanageReceiver(); 
  registerReceiver(sdcardStateReceiver,filter);
 }
 @Override
 protected void onDestroy(){
  unregisterReceiver(sdcardStateReceiver);
 }
 class SdcardStateChanageReceiver  extends BroadcastReceiver{

  @Override
  public void onReceive(Context context, Intent intent)
  {
   String state=android.os.Environment.getExternalStorageState();
   System.out.println("SDCard 发生改变! 状态:"+state);
   //checkSDCard();
  }
  public void checkSDCard(){
   String state=android.os.Environment.getExternalStorageState();
   System.out.println(state);
   if(state.equals(android.os.Environment.MEDIA_REMOVED ) || state .equals(android.os.Environment.MEDIA_UNMOUNTED)){
    System.out.println("SDCard 已卸载!");
   }
  }
 }
  

 

分享到:
评论
4 楼 solomon0104 2014-05-15  
sraining 写道
瞎扯,,自己试验一下,

垃圾
3 楼 xxtq0823 2012-08-13  
sraining 写道
瞎扯,,自己试验一下,

丢人现眼
2 楼 hualikejava 2012-06-27  
sraining 写道
瞎扯,,自己试验一下,

我试过了呀
1 楼 sraining 2012-05-20  
瞎扯,,自己试验一下,

相关推荐

    android广播的两种注册方式以及区别

    用两个工程展示了,广播的两种注册方式以及区别。其中一个工程负责用两种方式注册广播,另一个工程则发起广播,注意在应用还没启动前,无论是以哪种形式注册的广播,都是接受不到的

    android开发中两种电话拦截方式和两种广播注册方式

    本例中是使用aidl Android Interface Definition Language 实现两种方式拦截来电 使用广播监听拦截(其中有动态广播注册和静态广播注册)和phoneManager类监听手机状态拦截

    广播注册的两种方式-检查网络状态

    为了区分广播注册的两种方式,特地写了一个静态广播的例子,监听应用程序网络状态,当前无网络的时候,在应用程序窗口提示信息“当前网络不可用,请检查网络是否已经连接..”,否则不提示

    Android 注册广播的两种方式对比

    Android 注册广播的两种方式对比  1.常驻型广播  常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到,  他的注册方式就是在你的应用程序中的AndroidManifast.xml进行注册。...

    Android中Broadcastreceiver两种注册方式

    android BroadcastReceiver两种注册方式:1.在AndroidManifest.xml中注册 2.在Activity中注册。两种注册BroadcastReceiver方法的比较: 现在我们了解了两种注册BroadcastReceiver的方法之后,需要考虑一下这两种方法...

    android广播详解demo

    详细介绍广播的用法,代码有注释,简明易懂,实现广播的两种形式,有序广播和无序广播;详细介绍广播的用法,代码有注释,简明易懂,实现广播的两种形式,有序广播和无序广播;详细介绍广播的用法,代码有注释,简明...

    Android手机系统下两种广播方法(通知)

    Android 下两种广播机制方法,已通知几点会议和闹钟为例

    android线程和服务两种方式下载,广播通知栏同步更新进度

    以线程和服务两种方式实现网络下载,发送广播通知进度条和通知栏更新进度。

    Android注册广播的两种方法分析

    主要介绍了Android注册广播的两种方法,结合实例形式分析了Android注册广播的方法、步骤与相关注意事项,需要的朋友可以参考下

    Android UDP发送广播获取服务器IP

    Android UDP发送广播获取服务器IP,我这个是一个项目获取两种自己定义的端口的服务器的ip,注释很清楚,简单易懂

    Android广播监听机制的两种实现方法.pdf

    Android广播监听机制的两种实现方法.pdf

    深入Android中BroadcastReceiver的两种注册方式(静态和动态)详解

    今天我们一起来探讨下安卓中BroadcastReceiver组件以及详细分析下它的两种注册方式。 BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在...

    Android实验六.doc

    注册广播事件:注册 方式有两种,一种是静态注册,就是在AndroidManifest.xml文件中定义,注册的广播接 收器必须要继承BroadcastReceiver;另一种是动态注册,是在程序中使用Context.reg isterReceiver注册,注册的...

    Android关于广播的静态注册和动态注册及广播数据写入界面的心得体会

    下面聊聊自定义广播的两种方式 静态 静态注册是直接在AndroidManifest里面先进行注册,添加receiter,其中需要写入你的Broadcast Receiver的名字,我这里是MyReceiver,也可以写其他的名字,ena

    Android期末复习选择题100道

    BroadcastReceiver有两种注册方式,静态注册和动态注册 C. 静态注册需要在Mainfest.xml中配置 D. 动态注册需要在应用退出时候接触广播的注册。 3. 下面关于BroadcastReceiver错误的是( B): A. ...

    Android的广播Receiver动态注册和静态注册示例

    广播接收器注册一共有两种形式 : 静态注册和动态注册. 两者及其接收广播的区别: 1.动态注册的广播 永远要快于 静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低。 2.动态注册广播不是 ...

    Android项目设计与开发:广播的概念.ppt

    概念 广播分标准广播和有序广播两种形式。 概念 标准广播源 接收器A 接收器B 接收器C …… 概念 有序广播源 接收器A 接收器B 接收器C …… 概念 广播接收器的定义 1.定义接收器类,即继承BroadcastReceiver的类 2....

    详解Android 进程间通信的几种实现方式

    在不同应用程序之间交互数据(跨进程通讯),在Android SDK中提供了4种用于跨进程通讯的方式。 这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity...

    android广播

    android广播的两种形式,虽然很简单,但还是把它贴出来吧,以供加深记忆

Global site tag (gtag.js) - Google Analytics