我正在删除特定的短信的电话号码task.when我在motog或android版本5.0的mobile.I测试我不能删除特定号码的短信。我的代码片段below.please帮助我。如何删除android版本5.0 lolipop或Kitkat中的特定收件箱消息?
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以下的Android版本,但它不适用于4.4以上的版本。 – Vasant
看看下面的博客页面。它应该解释为什么它在这些版本中不起作用。 [让您的短信应用程序准备好迎接KitKat](http://android-developers.blogspot.com/2013/10/getting-your-sms-apps-ready-for-kitkat.html?m=1) –