Android - 广播接收器

❮ 上一节下一节 ❯


广播接收器只响应来自其他应用程序或系统本身的广播消息。 这些消息有时称为事件或意图。 例如,应用程序还可以发起广播,让其他应用程序知道某些数据已下载到设备并可供它们使用,因此广播接收器将拦截此通信并启动适当的操作。

有以下两个重要步骤可以使 BroadcastReceiver 适用于系统广播的意图 −

  • 创建广播接收器。

  • 注册广播接收器

还有一个附加的步骤,要实现自定义的意图,那么将必须创建并广播意图。


创建广播接收器

广播接收器实现为 BroadcastReceiver 类的子类,并覆盖 onReceive() 方法,其中每条消息都作为 Intent 对象参数接收。

public class MyReceiver extends BroadcastReceiver {
   @Override
   public void onReceive(Context context, Intent intent) {
      Toast.makeText(context, "Intent Detected.", Toast.LENGTH_LONG).show();
   }
}

注册广播接收器

应用程序通过在 AndroidManifest.xml 文件中注册广播接收器来侦听特定的广播意图。假设我们要为系统生成的事件 ACTION_BOOT_COMPLETED 注册 MyReceiver,一旦 Android 系统完成启动过程,系统就会触发该事件。

广播接收器

<application
   android:icon="@drawable/ic_launcher"
   android:label="@string/app_name"
   android:theme="@style/AppTheme" >
   <receiver android:name="MyReceiver">
   
      <intent-filter>
         <action android:name="android.intent.action.BOOT_COMPLETED">
         </action>
      </intent-filter>
   
   </receiver>
</application>

现在,每当您的 Android 设备启动时,它都会被 BroadcastReceiver MyReceiver 拦截,并执行 onReceive() 中实现的逻辑。

Intent 类中有几个系统生成的事件定义为最终静态字段。 下表列出了一些重要的系统事件。

序号 事件常数 & 描述
1

android.intent.action.BATTERY_CHANGED

包含电池充电状态、电量和其他信息的粘性广播。

2

android.intent.action.BATTERY_LOW

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值