1

こんにちは、以下のコードを使用して_idに基づいてメッセージを削除するAndroid SMSアプリを開発しています:

 getContentResolver().delete(Uri.parse("content://sms/" + id),"address=? and date=?",null);

これは、一部の電話では正常に機能しています。しかし、Samsung の携帯電話では、最も古いメッセージが削除されています。そして、私はそれが起こることを望んでいません。タッチで特定の SMS を削除したい。どうすればできますか。助けてください。ありがとう!

4

1 に答える 1

2

これを使用できます:

private int deleteMessage(Context context, SmsMessage msg) {
Uri deleteUri = Uri.parse("content://sms");
int count = 0;
Cursor c = context.getContentResolver().query(deleteUri, null, null,
        null, null);
while (c.moveToNext()) {
    try {
        // Delete the SMS
        String pid = c.getString(0); // Get id;
        String uri = "content://sms/" + pid;
        count = context.getContentResolver().delete(Uri.parse(uri),
                null, null);
    } catch (Exception e) {
    }
}
return count;
}

またはこれを使用できます:

getContentResolver().delete(Uri.parse("content://sms/conversations/" + pid), null, null);

これを確認する必要があります:

if(cursor.getCount>0){
  getContentResolver().delete(Uri.parse("content://sms/conversations/" + pid), null, null);
}
于 2013-08-31T09:12:48.253 に答える