簡體   English   中英

Android - 以編程方式禁用文本消息通知

[英]Android - Disable text message notifications programmatically

我正在處理一個處理短信的應用程序。 這是一個個人應用程序,我不打算發布它,但它基本上允許我通過互聯網在眾多設備之間共享我的短信(和電話號碼)。 作為第一個應用程序,它也是一個有趣的學習項目,而且我做了很多。

然而令人討厭的部分是我的設備在接收消息時獲得的文本消息彈出窗口。 我喜歡它,當我使用該設備時,我可以隨時進入選項並在我不打算使用該設備時禁用彈出窗口,但我是一個非常非常健忘的人並將其重新打開永遠不會發生。 然后我永遠不會回復郵件。

基本上我想以編程方式中斷(或甚至不通知)我的文本消息的默認消息傳遞應用程序,但是我仍然希望它記錄在我的消息傳遞歷史記錄中。 所以消息不能被“丟棄”。 這應該只在我的應用程序服務運行時發生。

我一直在搜索android API很長一段時間,我似乎無法弄明白,是否有可能,如果是這樣,你可以將我鏈接到API的正確位置開始嗎?

基本上我想以編程方式中斷(或甚至不通知)我的短信消息應用程序...

這是不可能的。

假設通過“中斷”意味着阻止默認SMS應用程序發出其通知,您可以使用默認應用程序執行此操作,而不是使用您無法控制的任何其他應用程序。

此外,由於默認SMS應用程序響應SMS_DELIVER_ACTION廣播,並且它是唯一接收此廣播的應用程序,因此無法“不...通知”傳入消息的默認應用程序。 你的應用甚至沒有機會中止廣播,即使有可能這樣做。

(在KitKat之前的版本中,通常可以為SMS_RECEIVED_ACTION廣播注冊具有高優先級的接收器,然后在本機SMS應用程序接收之前中止廣播。這就是rajan ks的回答所指的。)

...但是我仍然希望它記錄在我的消息歷史記錄中。

默認的SMS應用程序負責將所有傳入的消息寫入提供程序。 即使您能夠阻止默認應用程序接收傳入消息,您的應用程序也必須自己編寫消息。 這也是不可能的,因為默認應用程序是唯一具有對Provider的標准寫入權限的應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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