在Android 1.5中删除短信

Dmy*_*tro 5 java sms android

关于它有很多问题,我的申请中没有答案:(

我需要从接收器中删除SMS,即使用户可以看到它,但必须以编程方式删除它.

我该怎么做?

我使用的最合适的是以下,但它不起作用:(

context.getContentResolver().delete(
                deleteUri,
                "address=? and date=?",
                new String[] { msg.getOriginatingAddress(),
                        String.valueOf(msg.getTimestampMillis()) });
Run Code Online (Sandbox Code Playgroud)

Dmy*_*tro 9

重构我的代码后,我发现下一个解决方案有效:

private int deleteMessage(Context context, SmsMessage msg) {
    Uri deleteUri = Uri.parse("content://sms");
    int count = 0;
    Cursor c = context.getContentResolver().query(deleteUri, null, null,
            null, null);
    while (c.moveToNext()) {
        try {
            // Delete the SMS
            String pid = c.getString(0); // Get id;
            String uri = "content://sms/" + pid;
            count = context.getContentResolver().delete(Uri.parse(uri),
                    null, null);
        } catch (Exception e) {
        }
    }
    return count;
}
Run Code Online (Sandbox Code Playgroud)

谢谢大家的帮助!

ps如果这段代码对某些代码有用 - 请记住catch(异常)并不好.

  • 这会删除单个邮件还是整个会话?为什么SmsMessage msg在方法中的任何地方都没有使用时作为参数? (3认同)