0

Androidを使用してメッセージを送信していますSmsManager.sendTextMessage(..) が、SMSコンテンツプロバイダーの列を読んでいるときに、送信済みメッセージの場合は2であるタイプ列値1を取得しています。デバイスのデフォルトのメッセージングアプリでも、送信済みメッセージは受信済みとして表示されます。

メッセージの送信に使用しているコードは

public static final String SMS_URI = "content://sms";
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(address.get(i), null, messagetosend, null, null);
ContentResolver contentResolver = getContentResolver();

ContentValues values = new ContentValues();
values.put(ADDRESS, address.get(i));
values.put(BODY, messagetosend);
contentResolver.insert(Uri.parse(SMS_URI), values);

そして、私は次のコードを使用してLogcatに値を出力しています。

Uri allMessages = Uri.parse("content://sms/");
//Cursor cursor = managedQuery(allMessages, null, null, null, null); Both are same
Cursor cursor = this.getContentResolver().query(allMessages, null, null, null, null);

while (cursor.moveToNext()) {
    for (int i = 0; i < cursor.getColumnCount(); i++) {
        Log.d(cursor.getColumnName(i) + "", cursor.getString(i) + "");
    }
    Log.d("One row finished", "**************************************************");
}
4

1 に答える 1

1

変更してみてください

public static final String SMS_URI = "content://sms";

public static final String SMS_URI = "content://sms/sent";

また、追加することもできます

values.put("type", 2);
于 2012-12-05T10:25:27.580 に答える