【发布时间】: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