android - 无法以编程方式删除短信

标签 android sms

我尝试过从短信中删除全部或部分消息的变体,包括但不限于线程 id、id、where 子句等。 Android list 反射(reflect)读写权限。 我尝试了 SMS 内容的变体,来自收件箱等。 似乎没有删除记录。

这是最后一次迭代:

    Cursor c = getApplicationContext().getContentResolver().query(Uri.parse("content://sms/"), null, null, null,null);
    try {
          while (c.moveToNext()) {
             int Id = c.getInt(0);
             String pid = c.getString(0);
            // String uri = "content://sms/conversations/" + threadId;
             String strUriAll = "content://sms/" + pid;//SMS_ALL
             Log.d("URI is ", strUriAll);
             getApplicationContext().getContentResolver().delete(Uri.parse(strUriAll), null, null);
          //   getApplicationContext().getContentResolver().delete(Uri.parse(strUriAll), null, null);
          }

        }catch(Exception e){
             Log.e(this.toString(),"Error deleting sms",e);
        }finally {
          c.close();
        }

最佳答案

引入 Android 4.4 Kitkat changes in SMS handling现在只有默认的 SMS 应用程序被允许对 SMS 数据库进行写入访问 - 所有其他应用程序在尝试写入时都会默默地失败。

关于android - 无法以编程方式删除短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24168336/

相关文章:

java - 尝试从 Android 数据库中删除但获得空对象引用

android - 模拟器上未收到二进制数据短信

android - 无法在 BroadcastReceiver SMS 中实例化接收器

android - 如何在不在设备短信 View 中记录的情况下从 Android 应用程序发送短信?

java - 通过java应用程序加密短信

.net - SMS - 传入消息处理

java - 将 SharePreference 字符串保存到 ListView

android - 有没有办法在编辑多个首选项时避免调用 context.getSharedPreferences(KEY, defValue) ?

android - android中的内存不足错误

java - 在 Eclipse 中设置 Frame.Builder() 时出现异常