为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Android删除短信的处理

2017-10-17 6页 doc 20KB 39阅读

用户头像

is_882336

暂无简介

举报
Android删除短信的处理Android删除短信的处理 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;...
Android删除短信的处理
Android删除短信的处理 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; } 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的很多功能都是需要权限才能操作,还是有很多功能我们是可以直接操作的,只需要在配置文件中注明权限就行了,可是有些虽然注明了权限,但是还是会提示说你没权限。比如删除短信、让手机进入休眠状态(gotoSleep)。下面我就介绍一下我是如何删除一条属于黑名单中的短信: 1、获取你想要删除的短信的线程ID(因为我想删除最近收到的一条短信,所以我只需按时间进行倒序,然后获取第一条短信的线程ID就行了) Java 代码 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; } 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、删除短信 Java 代码 long id = getThreadId(); Uri mUri=Uri.parse("content://sms/conversations/" + id); mContext.getContentResolver().delete(mUri, null, null); long id = getThreadId(); Uri mUri=Uri.parse("content://sms/conversations/" + id); mContext.getContentResolver().delete(mUri, null, null); 这能通过这种方式删除短信,如果你想通过其他条件删除的话,那么就会提示你不够权 限删除。 但是这种方式只是删除收信箱中的短信,android机上的通知栏还是会照样的提示你有短信到来,那就只能再清楚掉通知栏上的短信提示了,估计还是无法做到完全无任何反应。顺序总是:系统先操作,然后你再删掉,这样的话,肯定个会在界面上闪一下的,让人觉得很怪异。
/
本文档为【Android删除短信的处理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索