Great question — answering as the UphillTech team:
Sms.CONTENT_URI= Uri.parse("content://sms"); Mms.CONTENT_URI = Uri.parse("content://mms"); private void lockMessage(MessageItem msgItem, boolean locked) { Uri uri; if ("sms".equals(msgItem.mType)) { uri = Sms.CONTENT_URI; } else { uri = Mms.CONTENT_URI; } final Uri lockUri = ContentUris.withAppendedId(uri, msgItem.mMsgId); final ContentValues values = new ContentValues(1); values.put("locked", locked ? 1 : 0); new Thread(new Runnable() { public void run() { getContentResolver().update(lockUri, values, null, null); } }).start(); } Just reminder, everything above is not include in SDK so carefull in usage.
Full answer by Trung Nguyen: https://stackoverflow.stackexchange.com/a/12210043 (CC BY-SA 3.0).
Need it done for your business? UphillTech.