我想从我的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应用程序发送秘密短信吗?
请建议。
答案 0 :(得分:13)
是的,您尝试发送SMS的方式是使用随附的消息传递应用程序。所以它将始终记录发送的消息。您必须使用SmsManager发送SMS。
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, null, null);
通过这种方式,您的短信不会被插入列表中。
还要记得在清单中添加它
<uses-permission android:name="android.permission.SEND_SMS" />
答案 1 :(得分:1)
如果您使用Android SMS应用程序发送消息,那么它会将该消息保存在发件箱中或发送。你可以做的是从短信数据库中删除该消息。 发送短信后使用以下方法删除该消息:
getContentResolver().delete(Uri.parse("content://sms/outbox"), "address = ? and body = ?", new String[] {etsendernumber.getText().toString(),etmessagebody.getText().toString()});
如果msg在外框
OR
getContentResolver().delete(Uri.parse("content://sms/sent"), "address = ? and body = ?", new String[] {etsendernumber.getText().toString(),etmessagebody.getText().toString()});
如果邮件在已发送的项目中。