簡體   English   中英

android:廣播接收器首先在我的應用中獲取短信的優先級值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM