2013-11-27 218 views
1

我有一個擁有設備管理員權限的應用程序。我的應用程序監視收到的短信,並通過一些邏輯傳遞內容。我可以通過編程方式將默認的短信應用更改爲我的應用。我的應用程序檢查垃圾郵件,因此它需要讀取/寫入/更新SMS數據庫。我想要一個修復kitkat。如何以編程方式更改默認應用程序?

我剛剛注意到,我的應用上收到的短信通知不再是收到新短信的通知,而是由接收短信的環聊引起的「新環聊消息」通知。所以我的應用程序也無法使用SMS_RECEIVED接收傳入的文本消息。

Google的Android開發者博客發佈了關於Kitkat中新的SMS API的博客文章,他表示,對於僅使用SMS_RECEIVED的應用程序而言,沒有任何改變,也不會嘗試將SMS寫入SMS提供程序。

1我一直認爲SMS_RECEIVED廣播是放棄的。但是,在Android 4.4 API的網站說,不同的東西:「......當有新的短信息到達通過偵聽SMS_RECEIVED_ACTION廣播,這是一種非可中止廣播......」

回答

6

我可以默認的短信應用更改爲我的應用程序編程

不直接。您可以提示用戶更改默認的短信應用程序。

爲垃圾郵件

我的應用程序檢查,重新打包代碼庫,並授權給SMS客戶端。

所以卵石應用程序也無法與SMS_RECEIVED

可能卵石應用僅僅是有其他問題,並通知卵石之前崩潰接收傳入的短信。或者,Pebble應用程序可能會針對Android 4.4進行更新,並且由於它知道無法停止環聊通知,因此可以簡單地取消自己的應用程序。

關於奇巧新的SMS API谷歌的Android開發者博客文章說,沒有什麼會改變只用SMS_RECEIVED的應用程序,並且不嘗試將SMS寫入SMS提供

也就是說不是什麼this blog post says

我始終認爲,SMS_RECEIVED廣播時可中止

這個無證,不支持的廣播一直有序的,可中止廣播通過Android 4.3的。這已不再是與Android 4.4的情況下,你可以通過閱讀上述博客文章說:

注意與Android是期初4.4任何通過您的應用程序試圖中止SMS_RECEIVED_ACTION廣播會因此所有被忽略感興趣的應用有機會接收它。

+0

在android 2.3.3中我如何提示用戶更改4.4中的默認值Telephony.sms有一個ACTION_CHANGE_DEFAULT的意圖。 –

+1

@AsimHabib:在Android 4.4之前,Android中沒有默認SMS客戶端的概念。 – CommonsWare

+0

感謝您的回覆 –

相關問題