• Android四大套件BroadCastReceiver


     概述:BroadcastReceiver用于接收并处理广播通知(broadcastannouncements)。

                  多数的广播是系统发起的,如地域变换、电量不足、来电来信等。程序也可以播放一个广播。程序可以有任意数量的 broadcast receivers来 响应它觉得重要的通知。broadcast receiver可以通过多种方式通知用户:启动activity、使用 NotificationManager、开启背景灯、振动设备、播放声音等,最典型的是在状态栏显示一个图标,这样用户就可以点它打开看通知内容。通常 我们的某个应用或系统本身在某些事件(电池电量不足、来电来短信)来临时会广播一个Intent出去,我们可以利用注册一个 Broadcast Receiver来监听到这些Intent并获取Intent中的数据。

           注册广播的几种方以及这些方式有何优缺点?        

                首先写一个类要继承BroadcastReceiver

                第一种:在清单文件中声明,添加

                      <receive android:name=".IncomingSMSReceiver " >

                      <intent-filter>

                           <action android:name="android.provider.Telephony.SMS_RECEIVED")

                      <intent-filter>

                      <receiver>   

                第二种使用代码进行注册如:

                      IntentFilter filter =  new

                      IntentFilter("android.provider.Telephony.SMS_RECEIVED");

                      IncomingSMSReceiver receiver = new IncomgSMSReceiver();

                      registerReceiver(receiver.filter);

                两种注册类型的区别是:

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

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

  • 相关阅读:
    python之private variable
    python实例、类方法、静态方法
    python常用option
    access
    FD_CLOEXEC
    fork后父子进程文件描述问题
    split
    信号
    kill
    进程组&Session
  • 原文地址:https://www.cnblogs.com/lwxalxy/p/4700489.html
Copyright © 2020-2023  润新知