android删除短信的处理

android的很多功能都是需要权限才能操作,还是有很多功能我们是可以直接操作的,只需要在配置文件中注明权限就行了,可是有些虽然注明了权限,但是还是会提示说你没权限。比如删除短信、让手机进入休眠状态(gotoSleep)。下面我就介绍一下我是如何删除一条属于黑名单中的短信:


1、获取你想要删除的短信的线程ID(因为我想删除最近收到的一条短信,所以我只需按时间进行倒序,然后获取第一条短信的线程ID就行了)


private long getThreadId() {
long threadId = 0;

String SMS_READ_COLUMN = "read";
String WHERE_CONDITION = SMS_READ_COLUMN + " = 0";
String SORT_ORDER = "date DESC";
int count = 0;

Cursor cursor = mContext.getContentResolver().query(
Uri.parse("content://sms/inbox"),
new String[] { "_id", "thread_id", "address", "person", "date", "body" },
WHERE_CONDITION,
null,
SORT_ORDER);

if (cursor != null) {
try {
count = cursor.getCount();
if (count > 0) {
cursor.moveToFirst();
threadId = cursor.getLong(1);
}
} finally {
cursor.close();
}
}
Log.i("threadId", String.valueOf(threadId));

return threadId;
}



2、删除短信


    long id = getThreadId();
Uri mUri=Uri.parse("content://sms/conversations/" + id);
mContext.getContentResolver().delete(mUri, null, null);


这能通过这种方式删除短信,如果你想通过其他条件删除的话,那么就会提示你不够权限删除。

但是这种方式只是删除收信箱中的短信,android机上的通知栏还是会照样的提示你有短信到来,那就只能再清楚掉通知栏上的短信提示了,估计还是无法做到完全无任何反应。顺序总是:系统先操作,然后你再删掉,这样的话,肯定个会在界面上闪一下的,让人觉得很怪异。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值