如何在 android 中以编程方式删除短信

How to delete SMS programatically in android

我想以编程方式从我的 android 设备中删除 1 条短信。这是我目前使用的代码。

private void DeleteSMS(int SmsId){
         Cursor c = getContentResolver().query(Uri.parse("content://sms/"),new String[] {"_id", "thread_id", "address", "body" }, null, null, null);
         while (c.moveToNext()) {
            try {
                    int pid = Integer.valueOf(c.getString(0));; // Get id;
                    String smsMessage = c.getString(3);
                    if (pid == SmsId)
                    {
                        String uri = "content://sms/"+pid;
                        int rows = getContentResolver().delete(Uri.parse(uri), null, null);
                        Toast.makeText(context, rows+" Message Deleted", Toast.LENGTH_LONG).show();
                        break;
                    }
            } catch (Exception e) {
                    Log.v("exception","occurred");
            }
         }
    }

getContentResolver().delete执行删除语句后,会return受影响的行为0。

请检查这个答案

您的应用应配置为处理短信的默认短信应用 - 4.4 以上

检查这个

http://android-developers.blogspot.in/2013/10/getting-your-sms-apps-ready-for-kitkat.html