`
hualikejava
  • 浏览: 171913 次
  • 性别: 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  
瞎扯,,自己试验一下,

相关推荐

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

    本主题将深入探讨两种广播注册方式:静态注册和动态注册,并以监听网络状态为例来展示它们的工作原理。 首先,静态注册是通过在AndroidManifest.xml文件中声明BroadcastReceiver来实现的。这种方式的广播接收器在...

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

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

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

    本篇将深入探讨两种广播注册方式:静态注册(Static Registration)和动态注册(Dynamic Registration),以及它们之间的差异。 **静态注册** 静态注册是在AndroidManifest.xml文件中通过标签定义广播接收器。这种...

    android注册广播方式接口回调

    总结来说,Android的广播注册方式包括静态和动态两种,每种都有其适用场景。同时,虽然BroadcastReceiver本身不直接支持接口回调,但我们可以通过自定义接口的方式来实现广播事件的传递,以便在需要的地方处理这些...

    Android中Broadcastreceiver两种注册方式

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

    Android蓝牙广播通信

    注册BroadcastReceiver有两种方式:静态注册和动态注册。静态注册是在AndroidManifest.xml文件中声明,应用启动时就会自动注册;动态注册则在代码中完成,通常在需要监听蓝牙状态时注册,在不需要时注销,以节省系统...

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

    本文将对比分析Android中注册广播的两种主要方式:常驻型广播(静态注册)和非常驻型广播(动态注册)。 1. 常驻型广播(静态注册) 常驻型广播在应用关闭后仍然能够接收到广播通知,即使应用没有运行,这也是它的...

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

    本篇文章将详细讲解Android中的两种广播机制:显式广播和隐式广播,并通过设置会议通知和闹钟的例子来阐述它们的应用。 一、显式广播 显式广播是直接指定接收者的BroadcastReceiver类,发送方知道确切的接收者是谁...

    Android广播onReceiver回调更新ui

    广播接收器有两种注册方式:静态注册和动态注册。静态注册在AndroidManifest.xml文件中进行,广播接收器会在应用启动时自动创建,即使应用不在后台运行也能接收到广播。动态注册则在代码中完成,需要在需要监听广播...

    【Android】动态注册广播接收器

    在Android应用开发中,广播接收器分为静态注册和动态注册两种方式。本文主要聚焦于动态注册广播接收器的概念、优势、使用方法以及相关实践。 动态注册广播接收器是在代码运行时通过编程方式进行注册的,与静态注册...

    android的广播机制和广播的简单使用

    此外,Android提供了有序广播和普通广播两种类型。有序广播按照优先级顺序逐个处理,每个Receiver都有机会处理Intent,而普通广播则是并行处理,所有Receiver几乎同时收到广播。 广播还可以配合PendingIntent使用,...

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

    本篇将深入探讨如何通过线程和服务两种方式实现网络下载,并利用广播来同步更新进度条和通知栏。这两种方法都是为了优化用户体验,确保用户能够实时了解下载状态。 首先,我们来看线程下载。在Android中,由于主线...

    Android 利用广播发送通知

    在Android中,广播分为两种类型:普通广播(Normal Broadcast)和有序广播(Ordered Broadcast)。普通广播是同时发送给所有接收者,而有序广播则按照接收者的优先级顺序依次处理。在本示例中,我们可能使用的是有序...

    android广播小例子

    注册分为静态注册和动态注册两种方式。静态注册是在manifest文件中添加标签,这样系统在启动时就会自动创建广播接收器。例如: ```xml &lt;receiver android:name=".MyBroadcastReceiver"&gt; &lt;action android:name=...

    Android 广播机制

    本文将深入探讨Android广播的工作原理、类型、注册方式以及如何创建和接收广播。 首先,Android广播分为两种类型:系统广播和普通广播。系统广播是由Android系统发起的,例如设备关机、开机、电池电量低等。这些...

    android广播详解demo

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

    072集-静态和动态注册广播接收者

    本视频教程“072集-静态和动态注册广播接收者”深入探讨了这两种不同的注册方式及其应用场景。 首先,我们要了解什么是广播。在Android系统中,广播是一种全局的通知机制,当系统或者应用触发某个事件时,会发送一...

    Android通过广播实现强制下线功能

    注册方式有两种:静态注册(在AndroidManifest.xml中)和动态注册(在代码中)。静态注册可以让接收器在应用后台运行时依然可以接收广播,但可能会增加内存占用。动态注册则在需要时注册,在不需要时注销,可以节省...

    Android Studio—接受多个广播、广播传递数据.zip

    3. 注册BroadcastReceiver:有两种注册方式,静态注册和动态注册。静态注册是在AndroidManifest.xml文件中添加receiver标签,而动态注册则是在代码中进行,通常在Activity的onCreate()方法中。 4. 广播数据传递:在...

    android 广播简单的使用

    广播接收器可以通过静态和动态两种方式注册: 1. **静态注册**:在`AndroidManifest.xml`文件中进行注册。 2. **动态注册**:在运行时通过代码注册。 在示例代码中,使用的是动态注册的方式。下面是如何动态注册...

Global site tag (gtag.js) - Google Analytics