9

AndroidアプリからSMSを送信したい。しかし、そのレコードがデバイスメッセージビューに存在することは望ましくありません。現在、以下のコードを使用しています。

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

しかし、それはデバイスのメッセージビューで送信されたSMSレコードを作成しています。Androidアプリケーションから秘密のSMSを送信できますか?

ご意見をお聞かせください。

4

2 に答える 2

13

はい、SMSを送信しようとしている方法は、出荷されたメッセージングアプリケーションを使用することです。したがって、送信されたメッセージは常に記録されます。SMSを送信するには、SmsManagerを使用する必要があります。

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

このように、SMSはリストに挿入されません。

また、これをマニフェストに追加することを忘れないでください

<uses-permission android:name="android.permission.SEND_SMS" />
于 2013-03-05T07:16:39.117 に答える
1

Android SMSアプリケーションを使用してメッセージを送信すると、そのメッセージが送信トレイに保存されるか、送信されます。あなたができることは、SMSデータベースからそのメッセージを削除することです。SMSを送信した後これを使用してそのメッセージを削除します。

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

msgがアウトボックスに入っている場合

また

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

メッセージが送信済みアイテムにある場合。

于 2013-03-05T07:18:29.543 に答える