【问题标题】:Send SMS but dont show it in sent messages发送 SMS 但不在已发送消息中显示
【发布时间】:2014-09-29 13:08:37
【问题描述】:

当我从我的应用程序发送任何短信或根本不记录它时,我想隐藏我发送的项目。

这是我的代码:

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);

如果我没有记错跳过保存已发送的短信,我必须将 null 写入 piSentpiDelivered。但我需要这 2 个广播,所以我知道我的消息是否由我拥有的 toast 消息发送,并知道它是否已送达。

还有什么我应该尝试的吗?

【问题讨论】:

    标签: android sms


    【解决方案1】:

    看来您正在处理 KitKat 或更高版本,因为在此之前,任何使用 SmsManager 发送 SMS 的应用程序都需要将消息显式写入 Provider 以便它们出现在任何其他应用程序中。在这种情况下,您的应用需要成为默认短信应用才能“隐藏”发送的消息。从 KitKat 开始,任何不是默认应用程序并使用SmsManager 的方法发送消息的应用程序都会将这些消息自动写入系统提供者。 PendingIntents 仅用于 Sent 和 Delivered 确认,与消息的编写无关。

    另一方面,默认的 SMS 应用程序负责自己编写所有自己的外发消息。没有自动写入,它可以选择忽略它们。您可以参考以下链接,了解如何使您的应用有资格成为默认短信应用。

    Getting Your SMS Apps Ready for KitKat

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      相关资源
      最近更新 更多