问题描述
我正在删除电话号码的特定短信任务.当我在 motog 或 Android 5.0 版的手机上进行测试时.我无法删除特定号码的短信.我的代码片段如下.
I am making to delete particular sms of phone number task. when I am testing in motog or Android version 5.0's mobile. I can't delete particular number's sms. My code snippet is below.
public void deleteSMS(Context context,String number) {
try {
Log.d("","Deleting SMS from inbox");
Uri uriSms = Uri.parse("content://sms/inbox");
Cursor c = context.getContentResolver().query(uriSms,
new String[] { "_id", "thread_id", "address",
"person", "date", "body" }, "address = '"+number+"'", null, null);
if (c != null && c.moveToFirst()) {
do {
long id = c.getLong(0);
long threadId = c.getLong(1);
String address = c.getString(2);
String body = c.getString(5);
Toast.makeText(getApplicationContext(),"SMS with id: " + threadId +" Number:- " +address,Toast.LENGTH_LONG).show();
Log.d("", "SMS with id: " + threadId +" Number:- " +address);
if ( address.equals(number)) {
Log.d("", "Deleting SMS with id: " + threadId);
context.getContentResolver().delete(
Uri.parse("content://sms/" + id), null, null);
}
} while (c.moveToNext());
}
} catch (Exception e) {
Toast.makeText(getApplicationContext(),"Could not delete SMS from inbox ",Toast.LENGTH_LONG).show();
Log.e("", "Could not delete SMS from inbox: " + e.getMessage());
}
}
推荐答案
在 4.4 之后,除非您的应用是默认短信应用",否则不允许从收件箱中删除任何短信
After 4.4 you are not allowed to delete any sms messages from inbox unless your app is the "default sms app"
从 Android 4.4 开始,系统设置允许用户选择默认短信应用".选择后,只有默认 SMS 应用程序能够写入 SMS 提供程序,并且只有默认 SMS 应用程序在用户收到 SMS 时接收 SMS_DELIVER_ACTION 广播或在用户接收 MMS 时接收 WAP_PUSH_DELIVER_ACTION 广播.默认的 SMS 应用程序负责在接收或发送新消息时将详细信息写入 SMS 提供程序.
其他未被选为默认短信应用的应用只能读取SMS 提供商...
Other apps that are not selected as the default SMS app can only read the SMS Provider...
你可以看到更多信息在这里刚才提到了下面的重要部分:
You can see More info herejust mentioned the important part below:
如果您的应用设计为作为默认 SMS 应用运行,那么虽然您的应用未被选为默认应用,但重要的是您了解应用的限制并酌情禁用功能.虽然您的应用程序不是默认的短信应用程序,但系统将发送的短信写入短信提供程序,但它不会写入发送的彩信,您的应用程序无法写入短信提供程序进行其他操作,例如将消息标记为草稿、标记为已读、删除等
这篇关于如何删除 Android 5.0 棒棒糖或 Kitkat 中的特定收件箱消息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!