android短信讀取問題,不能在論壇發帖,先暫時記在這裡,等高人解答

本文详细探讨了短信数据库中sms表的type字段及其在短信管理中的应用,特别关注了一个异常情况:获取到的短信类型值为8,而非预期的0至7范围内的整数。通过分析,解释了这种现象的原因,并提供了相应的解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

短信 sms 文件 /data/data/com.android.providers.telephony/databases/mmssms.db
这个数据库有13张表,sms表存了短信信息。


其中sms表的type字段類型為integer,表示短信類型


0所有
1收件箱
2發送
3草稿
4發件箱
5失敗
6等待發送


ALL=0;INBOX=1;SENT=2;DRAFT=3;OUTBOX=4;FAILED=5;QUEUED=6;


但是今天我獲取短信類型居然得到的值是8!,不知道咋回事??


static public List<SmsDataBean> getSmsDataListByThreadId(
String queryThreadId) {
mContext = SApplication.nowSApplication.getApplicationContext();
Uri smsUri = Uri.parse("content://sms/");
Cursor smsDataCursor = mContext.getContentResolver().query(smsUri,
null, "thread_id = " + queryThreadId, null, "date desc");
List<SmsDataBean> threadSmsDataList = new ArrayList<SmsDataBean>();


while (smsDataCursor.moveToNext()) {
SmsDataBean nowSmsDataBean = new SmsDataBean();

// 記錄短信時發出還是接收
// 记录短信是发出(2)还是接收(1)
nowSmsDataBean.smsType = smsDataCursor.getColumnIndex("type");
//這裡輸出的值居然是8???????????????????????
Log.i("info", "type is================================"
+ nowSmsDataBean.smsType);
threadSmsDataList.add(nowSmsDataBean);
}
smsDataCursor.close();
return threadSmsDataList;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值