【问题标题】:Android delete send sms安卓删除发送短信
【发布时间】:2014-01-15 14:55:06
【问题描述】:

我从我的应用程序发送短信。我想从“发件箱”中删除发送短信,因为短信包含访问设备的 PIN 码。短信已发送,但删除不起作用。 短信存在,因为我可以在“Cursor c_sms”中阅读它

private void sms_sender(String sms_no, String sms_text) {
    SmsManager.getDefault().sendTextMessage(sms_no, null, sms_text, null, null);
    Toast
            .makeText(MainScreen.this, R.string.text_message, Toast.LENGTH_SHORT)
            .show();

    Cursor c_sms = getApplicationContext().getContentResolver().query(Uri.parse("content://sms/"), null, null, null, null);
    try{
        while(c_sms.moveToNext()) {
            long id = c_sms.getLong(0);
            String pid = c_sms.getString(0);
            String address = c_sms.getString(2);
            if (address.equals(address)){
                int count = getContentResolver().delete(Uri.parse("content://sms/" + id),null,null);
            }
        }
    }
    catch (Exception e){
        Toast
                .makeText(MainScreen.this, R.string.text_error + e.toString(), Toast.LENGTH_LONG)
                .show();
    }

}

【问题讨论】:

  • 它会崩溃吗?你发现异常了吗?代码运行时是否没有崩溃,但短信仍在您的发件箱中?您是否有权删除短信?详情请...
  • 请注意,您不能在 Android 4.4+ 上执行此操作,除非您的应用是用户的默认 SMS 客户端。如果不是这样,我建议你想出一些其他方式来分发 PIN 码而不是 SMS。
  • 它没有崩溃,允许我有 SMS_READ、SMS_WRITE。是的,我发送了短信,但删除后短信仍在发件箱中。我为Android 4.4编译它......没有办法如何分发短信,因为环境是管理电源开关的短信网关

标签: android android-contentresolver


【解决方案1】:

getContentResolver().delete(Uri.parse("content://sms/sent"), "address = ? and body = ?", new String[] {etsendernumber.getText().toString(),etmessagebody .getText().toString()});

使用此代码

【讨论】:

  • 欢迎来到 SO!请访问:How to answer a question。提供答案时,请进一步解释并正确识别您的代码,以便于阅读。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多