我已經編寫了一個應用程序,它接收傳入的SMS,並將其保存並顯示給用戶。由於三星的ChatOn應用程序更新,突然我的應用程序停止接收短信。Android:SMS被ChatON應用程序阻止
這裏是我的Manifest.xml:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<receiver android:name="com.myapp.sms.service.SMSReceiver"
android:permission="android.permission.BROADCAST_SMS" android:exported="true">
<intent-filter android:priority="999">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
我有這個問題,前面有Hangouts轉播開始支持SMS。所以,當時我在清單文件中增加了999(最大值)的優先級。這工作。
但是,在最近更新的ChatOn應用程序後,我的應用程序停止接收短信。請告訴我怎樣才能克服這一點。
對於解決辦法,我在ChatOn應用程序上取消選中SMS選項。
任何幫助表示讚賞。
FWIW應用,最大的獨立廣播'android:priority'不是999.這就是文檔聲明的內容,而且文檔是錯誤的。最大值是「Integer.MAX_VALUE」的數字,大約爲20億。請記住,即使您要求此優先級,由於Android使用的任何決勝者(GoSMS導致此問題很多),其他應用程序仍然可能會超過您。 – CommonsWare
@CommonsWare,好吧,如果你說文檔是錯誤的,並且如果我將優先級設置爲Integer.MAX_VALUE,那麼如果應用程序停止廣播,所有其他應用程序將停止接收SMS。我猜這就是ChatOn正在做的事情。這應該不存在。那麼什麼是正確的解決方案呢?此功能對我的應用程序是強制性的。 – User12111111
「,那麼如果廣播被應用程序停止,則所有其他應用程序都將停止接收短信」 - 終止有序廣播的應用程序會阻止低優先級接收機獲取該廣播。 「這就是我猜ChatOn正在做的事情 - 」這是一種可能性。 [安裝「App Browser」](https://play.google.com/store/apps/details?id=com.japanesecrackers.appbrowser)並檢查ChatOn的清單。 「那麼對此的正確解決方案是什麼?」 - 如果優先級較高的應用程序使用該事件,則無法執行任何操作,但無法保證始終處於最高優先級。 – CommonsWare