[英]android:priority value for broadcast receiver to get sms first in my app
我想在我的應用程序中接收短信,但是如果還有其他任何應用程序也在接收短信,則短信將轉到該應用程序,並且我無法對其進行任何處理。 我想先在我的應用中收到短信
在此處輸入代碼<receiver android:name="pk.wisesolutions.smsmanager.activity.IncomingMessage" > <intent-filter android:priority="999" > <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver>
自KitKat(版本4.4,API級別19)起,SMS功能已更改。
我想在我的應用程序中接收短信
如果您的應用程序具有RECEIVE_SMS
權限,並且具有適當配置的BroadcastReceiver,則仍然可以這樣做。
如果還有任何其他應用程序正在接收短信,短信將轉到該應用程序,我不能做任何事情。
KitKat引入了默認SMS應用程序的概念。 被選為默認SMS應用程序的應用程序偵聽SMS_DELIVER
操作廣播,並負責處理適當的通知和提供程序寫入。 只有默認應用程序才可以控制將消息寫入提供程序的過程。
SMS_RECEIVED
操作仍在廣播,但不能中止。 這意味着您的應用程序仍然可以偵聽和檢索傳入的SMS消息,但是也不能阻止其他應用程序這樣做,反之亦然。 盡管您可以為Receiver設置的最大實際優先級為999
,但這並不重要,因為在這種情況下,因為abortBroadcast()
將不起作用,並且任何正在監聽SMS_RECEIVED
廣播的應用程序都可以使用它。 如果您的應用程序沒有接收和處理此廣播,則說明還有其他情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.