将SMS标记为读取android

时间:2014-05-03 23:56:00

标签: android sms android-contentresolver

您好我试图在Android上将所有短信标记为已读 我尝试了所有可见的解决方案,但我似乎无法解决问题 我尝试了以下解决方案

这是我的代码

     protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_smslist);
            markSmsAsRead();
            setSMSRead();
    }

 public void markSmsAsRead() {

        Uri uri = Uri.parse("content://sms/inbox");
        String selection = "read = ?";
        String[] selectionArgs = {"0"};

        ContentValues values = new ContentValues();
        values.put("read", true);
        Context context = getApplicationContext();
        context.getContentResolver().update(uri, values, selection, selectionArgs);
    }
    public void setSMSRead()
    {
        ContentValues values = new ContentValues();
        values.put("read", true);
       // String where = "read = 0";
       // String where = "_id < 100000";
        Context context = getApplicationContext();
        context.getContentResolver().update(Uri.parse("content://sms/inbox"), values, "_id<" + "100000", null);

    }

1 个答案:

答案 0 :(得分:2)

为了将短信标记为已读取,您的应用必须是默认短信应用