【问题标题】:How to send SMS from the Android app without making its record in device SMS view?如何从 Android 应用程序发送短信而不在设备短信视图中记录?
【发布时间】:2013-02-19 11:52:34
【问题描述】:

我想从我的 Android 应用发送短信。但我不希望它的记录存在于设备消息视图中。我目前正在使用以下代码。

sendSMS(etsendernumber.getText().toString(), etmessagebody.getText().toString()); 
sendintent = new Intent(Intent.ACTION_VIEW);
sendintent.putExtra("sms_body","");
sendintent.setType("vnd.android-dir/mms-sms");
startActivity(sendintent);

但它正在设备的消息视图中制作发送的短信记录。我们可以从 Android 应用程序发送秘密短信吗?

请指教。

【问题讨论】:

  • 在 Android KitKat 4.4.2 中,您将使用此代码发送短信,该短信将被记录在默认短信应用程序中

标签: android sms


【解决方案1】:

如果您使用 android SMS 应用程序发送消息,那么它将将该消息保存在发件箱中或发送。您可以做的是从 sms 数据库中删除该消息。 发送短信后使用此删除该消息:

getContentResolver().delete(Uri.parse("content://sms/outbox"), "address = ? and body = ?", new String[] {etsendernumber.getText().toString(),etmessagebody.getText().toString()});

如果味精在外箱中

getContentResolver().delete(Uri.parse("content://sms/sent"), "address = ? and body = ?", new String[] {etsendernumber.getText().toString(),etmessagebody.getText().toString()});

如果消息在发送的项目中。

【讨论】:

  • 感谢发帖。我们也可以从通话记录中删除通话吗?我的意思是我想从通话记录中删除上次拨打的电话
  • 从来没有这样做过,但我认为可以做到。但如果你想要答案,我认为你应该问另一个问题。 :)
  • 对我不起作用。 :( 我应该请求任何额外的权限(AndroidManifest.xml)吗?
  • 只有默认消息应用可以删除
【解决方案2】:

是的,您尝试发送 SMS 的方式是使用随附的消息应用程序。所以它会一直记录发送的消息。您必须使用 SmsManager 发送短信。

SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, null, null);

这样你的短信就不会被插入到列表中了。

还记得在你的清单中添加这个

<uses-permission android:name="android.permission.SEND_SMS" />

【讨论】:

  • 我们也可以从通话记录中删除通话吗?我的意思是我想从通话记录中删除上次拨打的电话。
  • 在 android KitKat 4.4.2 中,您将使用此代码发送短信,该短信将被记录在默认短信应用程序中。
  • @Jimmer 如何过滤我在 KitKat 中发送的消息?我的应用程序不是一个默认的短信应用程序,只是我想在任何版本的 android.plz 中发送短信而不显示在收件箱中。请帮助我
  • 是的,他们改变了 M 的实现,只在 L 之前有效。
猜你喜欢
  • 2016-07-03
  • 2012-05-04
  • 1970-01-01
  • 2012-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-05
  • 1970-01-01
相关资源
最近更新 更多