首页 > 代码库 > 获取未读信息
获取未读信息
package com.example.missedcall; import android.content.Context; import android.database.Cursor; import android.net.Uri; import android.provider.CallLog; import android.provider.CallLog.Calls; /** * 不喜欢写博文,直接上代码,注释内容部分参考网上的材料 * * 先贴出相关的协议: content://sms/inbox 收件箱 content://sms/sent 已发送 content://sms/draft 草稿 content://sms/outbox 发件箱 content://sms/failed 发送失败 content://sms/queued 待发送列表 在模拟器上Outbox没有查询到数据,在模拟器上找了老半天也没找到发件箱,很郁闷。 数据库中sms相关的字段如下: _id 一个自增字段,从1开始 thread_id 序号,同一发信人的id相同 address 发件人手机号码 person 联系人列表里的序号,陌生人为null date 发件日期 protocol 协议,分为: 0 SMS_RPOTO, 1 MMS_PROTO read 是否阅读 0未读, 1已读 status 状态 -1接收,0 complete, 64 pending, 128 failed type ALL = 0; INBOX = 1; SENT = 2; DRAFT = 3; OUTBOX = 4; FAILED = 5; QUEUED = 6; body 短信内容 service_center 短信服务中心号码编号 subject 短信的主题 reply_path_present TP-Reply-Path locked * * * */ public class MissCall { /** * 读取未接电话号码 * */ public static int readMissCall(Context context) { int result = 0; Cursor cursor = context.getContentResolver().query(CallLog.Calls.CONTENT_URI, new String[] { Calls.TYPE }, " type=? and new=?", new String[] { Calls.MISSED_TYPE + "", "1" }, "date desc"); if (cursor != null) { result = cursor.getCount(); cursor.close(); } return result; } /** * 获取未读彩信数量 * */ public static int getNewMmsCount(Context context) { int result = 0; Cursor csr = context.getContentResolver().query(Uri.parse("content://mms/inbox"), null, "read = 0", null, null); if (csr != null) { result = csr.getCount(); csr.close(); } return result; } /** * 获取未读短信数量 * */ public static int getNewSmsCount(Context context) { int result = 0; Cursor csr = context.getContentResolver().query(Uri.parse("content://sms"), null, "type = 1 and read = 0", null, null); if (csr != null) { result = csr.getCount(); csr.close(); } return result; } }
获取未读信息
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。