我正在访问Android MMS-SMS数据库:
Uri.parse("content://mms-sms/conversations?simple=true");
ContentResolver contentResolver = getContentResolver();
String[] projection = {"_id"};
Cursor cursor = contentResolver.query(uri, projection, null, null, null);
//Is the id the same as the id in corresponding SMS or MMS table?
long id = cursor.getLong(cursor.getColumnIndex("_id"));
我的问题很简单,“_id”列是否包含相应表格的相同ID值(对于短信"content://sms"
;对于MMS "content://mms"
)?如果不是,我如何从我得到的cursor
获取短信或彩信表中的消息ID?
我想要做的是我想使用此ID查询相应的短信或彩信表。
答案 0 :(得分:1)
你想要从“content:// mms-sms / conversations?simple = true”中的“_id”列获取mms-sms 尝试
Account
“id”是值“_id”列。
答案 1 :(得分:-1)
我认为你是以错误的方式做到这一点。您应该将关于短信的想要的值添加到projection
,就像那样;
String[] projection = {"Conversations._ID"};
然后你可以用sms id:
long id = cursor.getLong(0);
如果您想从Sms获取其他信息,请将密钥添加到projection
,如:
String[] projection = {"Conversations._ID", "Conversations.ADDRESS", "Conversations.BODY"};
然后;
long id = cursor.getLong(0);
String address = cursor.getString(1); // tel number
String body = cursor.getString(2); // content of message
修改:您还应检查您的uri并尝试:
Cursor cursor = contentResolver.query(Conversations.CONTENT_URI, projection, null, null, null);
祝你好运。