在android程序中,我从下面的 uri 中获取 recipient_id 。
content://mms-sms/conversations?simple=true
现在我想使用 recipient id 从“canonical_addresses”表中获取地址。但是如何查询“canonical_addresses”表呢?
Canonical 表中有两列,_id 和 number(或者 address)。当你获取 recipient id 时,要查找那个 id 是否在canonical addresses 表中。对于多个 recipients, ids 被一个 space 分隔开,所以要把结果分隔开:recipient_ids.split(" ")
再查找每个id
getContentResolver().query(Uri.parse("content://mms-sms/canonical-addresses"), null, "_id = " + recipientId, null, null);
或者:
getContentResolver().query(Uri.parse("content://mms-sms/canonical-addresses/" + recipientId), null, null, null, null);
从我的电脑领取D:\Program Files\Corel
在源码路径有这样的查询语句
/packages/providers/TelephonyProvider/src/com/android/providers/telephony/
MmsSmsProvider.java的508行
SQLiteDatabase db = mOpenHelper.getReadableDatabase();
cursor = db.query(
"canonical_addresses", ID_PROJECTION,
selection, selectionArgs, null, null, null);
同样的文件里private static final String TABLE_CANONICAL_ADDRESSES = "canonical_addresses";
虽然没定义好的URL,还是可以查的