当我从我的应用程序发送任何短信或根本不记录时,我想隐藏我发送的项目。
以下是我在这里的代码:
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);
如果没有错误地跳过保存已发送的短信,我必须将空写入piSent
和piDelivered
。但是我需要这两个广播,所以我知道我的消息是通过我的Toast消息发送的,并知道它是否已经发送。
还有什么我应该尝试的吗?
答案 0 :(得分:0)
您似乎正在处理KitKat或更高版本,因为在此之前,任何使用SmsManager
发送短信的应用都需要明确地将消息写入提供商,以便他们出现在任何其他应用中。在这种情况下,您的应用程序将需要是默认的SMS应用程序,以“隐藏”已发送的消息。从KitKat开始,任何非默认应用程序并使用SmsManager
方法发送消息的应用程序都会自动将这些消息写入提供程序。 PendingIntents仅用于已发送和已发送的确认,与写入消息无关。
另一方面,默认的SMS应用程序负责自己编写所有自己的外发消息。没有为它完成自动写入,它可以选择省略它们。您可以参考以下链接,了解有关如何使您的应用程序成为默认短信应用程序的信息。