是否有更新MMS / SMS数据库以将消息从读取标记为未读取,反之亦然?我尝试过使用URI,但它们对我不起作用。
答案 0 :(得分:4)
以下代码可用于更新MMS消息是否已标记为已查看。
要将此消息用于SMS消息,只需将以下“content:// mms /”替换为“content:// sms /”。
/**
* Mark a single SMS/MMS message as being read or not.
*
* @param context - The current context of this Activity.
* @param messageID - The Message ID that we want to alter.
*
* @return boolean - Returns true if the message was updated successfully.
*/
public static boolean setMessageRead(Context context, long messageID, boolean isViewed){
try{
if(messageID == 0){
return false;
}
ContentValues contentValues = new ContentValues();
if(isViewed){
contentValues.put("READ", 1);
}else{
contentValues.put("READ", 0);
}
String selection = null;
String[] selectionArgs = null;
_context.getContentResolver().update(
Uri.parse("content://mms/" + messageID),
contentValues,
selection,
selectionArgs);
return true;
}catch(Exception ex){
return false;
}
}
此外,您可能需要在Android清单文件中拥有一个SMS权限。
快乐编码:)