这篇文章中对 Android 消息数据库的解释How to Read MMS Data in Android? 非常有帮助。不幸的是,我没有足够的声誉要求在那里进行澄清。我需要知道发送彩信的时间。这可以通过数据库获得吗?如果没有,它是否保存在其他任何地方?从发送端的手机获取发送时间也可以。
编辑:我现在看到 DATE_SENT 属性可用,但我不知道如何访问它。是否有类似地址的提供者?
更新:这是我的代码的样子:
int id = 0;
ContentResolver contentResolver = getContentResolver();
final String[] projection = new String[]{"*"};
Uri uri = Uri.parse("content://mms-sms/conversations/");
Cursor query = contentResolver.query(uri, projection, null, null, null);
if (query.moveToFirst()) {
do {
String string = query.getString(query.getColumnIndex("ct_t"));
if ("application/vnd.wap.multipart.related".equals(string)) {
//MMS
System.out.println("b:mms found");
System.out.println("b:thing in table is " + query.getString(query.getColumnIndex("_id")));
id = Integer.parseInt(query.getString(query.getColumnIndex("_id")));
System.out.println("b:" + getAddressNumber(id));
} else {
//SMS
System.out.println("b:sms found");
}
} while (query.moveToNext());
}
它适用于 _id 和日期的列索引,但不适用于 date_sent。