2014-09-29 104 views
3

我想隱藏我發送的項目,當我從我的應用程序發送任何短信或根本不登錄它。發送短信,但不顯示它在發送的消息

下面是代碼我這裏有:

SmsManager smsManager = SmsManager.getDefault(); 
PendingIntent piSent = PendingIntent.getBroadcast(contextUpdate, 0, new Intent("SMS_SENT"), 0); 
PendingIntent piDelivered = PendingIntent.getBroadcast(contextUpdate, 0, new Intent("SMS_DELIVERED"), 0); 
smsManager.sendTextMessage(alarmNumber, null, alarmCode + " " + sentDisarmCode + " OFF", piSent, piDelivered); 

如果沒搞錯跳過節省送到我必須寫零到piSentpiDelivered短信。但我需要這兩個廣播,所以我知道如果我的消息是通過吐司消息發送的,並且知道它是否傳送。

還有什麼我應該嘗試?

回答

0

看起來您正在處理KitKat或更高版本,因爲在此之前,任何使用SmsManager發送短信的應用程序都需要將消息明確寫入提供程序,以便它們出現在任何其他應用程序中。既然如此,您的應用程序將需要成爲默認的短信應用程序才能「隱藏」發送的消息。從KitKat開始,任何非默認應用程序,並使用SmsManager的方法發送消息時,系統會自動將這些消息寫入提供程序。 PendingIntents僅用於「已發送」和「已發送」確認,與寫入消息無關。

另一方面,默認的短信應用程序負責編寫自己的所有傳出消息。沒有自動寫入,它可以選擇省略它們。您可以參考以下鏈接瞭解如何讓您的應用成爲默認的短信應用。

Getting Your SMS Apps Ready for KitKat