2013-11-20 45 views
10

我目前正在開發一個應用程序,只有當它是應用程序預期的SMS(與註冊時的Whatsapp行爲相同)時才需要處理SMS。Abort SMS Intent on Android KitKat

我想中止SMS Intent,因爲它不會出現在SMS框中。

我的問題是:我知道Google改變了很多關於在KitKat中的短信行爲,現在,即使我的短信很好地被我的應用解析,短信也出現在SMSBox中,即使我在我的短信中撥打this.abortBroadcast();廣播接收機。那麼有沒有辦法避免這些短信出現在SMS中,而無需開發完整的SMS應用程序?

有關信息,此廣播接收器的清單文件中的優先級尚未達到1000(並且我還嘗試使用MAX整數)。

+3

「那麼有沒有辦法避免SMS短信中出現這些短信,而無需開發完整的短信應用?」 - AFAIK,沒有。我會將短信結構化爲對用戶有價值,除了服務於你想要的角色,證明它在收件箱中的價值(並且如果有的話,值得用戶爲該消息付費)。 – CommonsWare

+0

在我的應用程序中,如果不將它的大小增加到超過1條SMS,我就無法使其對用戶有價值。這就是爲什麼我現在對解決方案感到好奇的原因。順便說一句,謝謝你的回答。 – gahfy

+0

如果在無線和網絡設置中更改默認的短信應用程序該怎麼辦? – gayavat

回答

10

環聊使用最大可能優先級(999/the Intent-Filter docs),因此您不能在< 4.4版本中放棄它。在4.4+上,只有default SMS appblog post with details)可以對SMS提供者進行更改(即自動刪除SMS)。

+0

我會提到,如果您的應用程序是默認的SMS應用程序,它負責將傳入消息寫入提供程序,因此這將是省略這些寫入的問題,而不是從提供程序中刪除消息。另外,有關環聊的更多信息,請參閱此答案:http:// stackoverflow。COM /問題/ 25354516 /攔截傳入-SMS-三星的Android/25354759#25354759 –

-1

您可以在Android 4.4封鎖短訊 - 4.4.4使用

1)

  • 使用AppsOpps設置
  • WRITE_SMS許可

SMS將在10秒這個短信通知被刪除。

作爲選項,您可以在接收不需要的短信時阻止聲音。

2)將您的應用程序設置爲默認的短信應用程序。