Android中使用Receiver怎么實(shí)現(xiàn)動(dòng)態(tài)注冊與靜態(tài)注冊?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
廣播接收器注冊一共有兩種形式 : 靜態(tài)注冊和動(dòng)態(tài)注冊.
兩者及其接收廣播的區(qū)別:
1.動(dòng)態(tài)注冊的廣播 永遠(yuǎn)要快于 靜態(tài)注冊的廣播,不管靜態(tài)注冊的優(yōu)先級設(shè)置的多高,不管動(dòng)態(tài)注冊的優(yōu)先級有多低。
2.動(dòng)態(tài)注冊廣播不是 常駐型廣播 ,也就是說廣播跟隨activity的生命周期。注意: 在activity結(jié)束前,移除廣播接收器。
靜態(tài)注冊是常駐型 ,也就是說當(dāng)應(yīng)用程序關(guān)閉后,如果有信息廣播來,程序也會(huì)被系統(tǒng)調(diào)用自動(dòng)運(yùn)行。
3.在同一個(gè)優(yōu)先級下,誰先啟動(dòng)的快,誰將先接收到廣播。
下面這個(gè)Demo,界面如下,注冊兩個(gè)動(dòng)態(tài)接收器(接收自定義廣播和系統(tǒng)廣播)和注冊靜態(tài)廣播(接收自定義靜態(tài)和廣播、手機(jī)USB的插拔事件、接收短信并讀取短信息)
工程目錄如下:注意看代碼中的注釋
xml布局文件(activity_main.xml)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@+id/send_static" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="發(fā)送自定義靜態(tài)注冊廣播"/> <Button android:id="@+id/send_dynamic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="發(fā)送自定義動(dòng)態(tài)注冊廣播"/> <Button android:id="@+id/send_system" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="發(fā)送系統(tǒng)動(dòng)態(tài)注冊廣播"/> </LinearLayout>
分享文章:Android中使用Receiver怎么實(shí)現(xiàn)動(dòng)態(tài)注冊與靜態(tài)注冊-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://vcdvsql.cn/article8/pjeip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、響應(yīng)式網(wǎng)站、營銷型網(wǎng)站建設(shè)、搜索引擎優(yōu)化、網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容