嗨,我正在开发一个 android SMS 应用程序,我正在使用以下代码删除基于 _id 的消息:
getContentResolver().delete(Uri.parse("content://sms/" + id),"address=? and date=?",null);
这在某些手机上运行良好。但在三星手机上,最旧的消息正在被删除。我不希望这种情况发生。我想删除特定的短信。我该怎么做。请帮助。谢谢!
嗨,我正在开发一个 android SMS 应用程序,我正在使用以下代码删除基于 _id 的消息:
getContentResolver().delete(Uri.parse("content://sms/" + id),"address=? and date=?",null);
这在某些手机上运行良好。但在三星手机上,最旧的消息正在被删除。我不希望这种情况发生。我想删除特定的短信。我该怎么做。请帮助。谢谢!
你可以使用这个:
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);
}