當前位置:編程學習大全網 - 源碼破解 - Android本地廣播的使用

Android本地廣播的使用

為了解決廣播的安全性問題,Android引入了本地廣播機制,使用該機制發出的廣播只能在應用程序的內部進行傳遞,並且廣播接收器也只能接收來自本應用程序發出的廣播。

本地廣播是無法通過靜態註冊的方式來接收的。我們知道靜態註冊主要是為了在程序未啟動的情況下能接收廣播,而當我們發送本地廣播的時候,程序肯定是已經啟動的了,所以我們需要動態註冊方式創建接收器。

在這裏我們創建壹個繼承於BroadcastReceiver的類LocalReceiver。onReceive()處理妳接收到的廣播內容,在這裏我用Toast來創建壹個提示接收到消息的彈窗

在activity_main.xml文件創建壹個用於發送廣播的按鈕

首先通過本地廣播管理器LocalBroadcastManager的getInstance()方法獲取壹個實例,並分別創建過濾器IntentFilter和自定義接收器LocalReceiver的實例。給IntentFilter的實例添加壹個action:localbroadcast(接收的廣播的名稱),然後調用LocalBroadcastManager的registerReceiver()方法進行註冊,並將LocalReceiver的實例和IntentFilter的實例都傳進去。這樣本地監聽器就創建完成了。

調用LocalBroadcastManager的sendBroadcast()發送本地廣播。運行程序,點擊Send Button按鈕,我們可以看到彈窗顯示“This is in LocalReceiver”,說明本地廣播發送和接收成功了。

當然,我們最後壹定不要忘了取消註冊。我們可以通過調用unregisterReceiver()方法來實現。至此,Android的標準廣播發送就完成了。

1.發送的廣播只能在本程序內傳遞,不必擔心數據泄露

2.其它程序廣播無法發送到本程序的內部,不必擔心安全漏洞隱患

3.本地廣播比系統全局廣播更加高效

  • 上一篇:友善的英語翻譯 友善用英語怎麽說
  • 下一篇:將夜第二季什麽時候播?預計將於2020年上半年播出
  • copyright 2024編程學習大全網