9

我想从我的 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 应用程序发送秘密短信吗?

请指教。

4

2 回答 2

13

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

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

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

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

<uses-permission android:name="android.permission.SEND_SMS" />
于 2013-03-05T07:16:39.117 回答
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()});

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

于 2013-03-05T07:18:29.543 回答