DAY24:Broadcast receiver之简介

今天要来介绍广播接收程序,先从Broadcast receiver的运作机制,它的运作机制包含:送出Intent物件的广播器,与监听广播讯息的接收器,这两项需要互相搭配才可以完成广播功能。
接着,我们要来看Listener跟Broadcast两者的功能差异:
每个Listener只能处理一种事件,根据需求有不同的监听动作,例如:长按或点选,无法接受位定义的事件。也必须被特定对象绑定後才可以使用,影响范围会受制於特定对象。
至於Broadcast是透过IntentFilter决定要接收的对象,只要定义对应IntentFilter就可以接受复数的广播,它也不须绑定它是透过注册及注销来决定是否接受讯息,不过就只能被动接收,另外只要有定义注册,可以接收系统讯息或自订讯息。
接着,我们来建立Broadcast Receiver,要使用Broadcast要有接收器Receiver,所以我们先来产生一个Receiver,按照以下路径去产生空白的Receiver
https://ithelp.ithome.com.tw/upload/images/20211008/201404881MDXB1ZRUP.png
接着命名完後就可以按下finish。
https://ithelp.ithome.com.tw/upload/images/20211008/20140488yGcIxshDos.png
完成後,系统会自动建造Class档以及在AndroidMainfest也会增加Receiver的资讯。
https://ithelp.ithome.com.tw/upload/images/20211008/20140488wOq09ZeQtH.png
https://ithelp.ithome.com.tw/upload/images/20211008/20140488taiKhXcmMI.png
在BroadcastReceiver使用上,需要透过registerReceiver(注册接收器)与unregisterReceiver(注销接收器)来建立Receiver,而它的用途就是等待广播传来,并执行工作。
在接收到之前我们需要先定义Receiver想要接收那些广播事件,这将会用到IntentFilter类别,用於定义与过滤想要接收的广播事件。
广播器必须带有识别字串的讯息,IntentFilter会藉由识别字串决定是否接收。识别字串则可以是系统定义或是自行定义
简单说明常见的系统定义的事件,像我们常用手机用到电池容量太低就会显示低电量通知,戴上耳机或拿下来也都会显示toast讯息等等。


<<:  24 - 建立结构化的 Log (2/4) - Elasticsearch Ingest Pipeline 资料 Index 前的转换好帮手 - 基本介绍

>>:  中阶魔法 - 闭包 Closure (一)

Day29-Go gRPC(下)

前言 在上一篇,我们介绍了 gRPC 以及建例 proto 档,今天要来介绍如何使用 gRPC 来建...

Day31:HTML(29) form(8)

输入类型"周" 将”input type="week"“允许...

WordPress 显示最後更新日期的 3 种方法 (外挂、程序码、Post Meta Data) – 提高 SEO 排名

此篇文章将会教你如何在 WordPress 的文章上增加最後更新日期,让读者感觉到内容是最新有用的资...

Day 23. Zabbix 通知设定 - Custom alertscripts - Line

在 SMTP Mail 之後,今天要跟大家介绍第二种通知方式 Custom alertscripts...

Day 10:架设 Prometheus (2)

设定 alerting rules 昨天成功的让 Prometheus 收集了一些指标,那麽今天就来...