clcurie_11
2013-05-21 03:07
采纳率: 64.8%
浏览 3.2k

从“canonical_addresses”表中获取地址

在android程序中,我从下面的 uri 中获取 recipient_id 。

content://mms-sms/conversations?simple=true

现在我想使用 recipient id 从“canonical_addresses”表中获取地址。但是如何查询“canonical_addresses”表呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • xiaoyan_12 2013-05-22 03:37
    已采纳

    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);
    
    点赞 打赏 评论
  • 小酷酷 2013-05-21 05:43

    从我的电脑领取D:\Program Files\Corel

    点赞 打赏 评论
  • balmy 2013-05-21 12:39

    在源码路径有这样的查询语句

    /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,还是可以查的

    点赞 打赏 评论

相关推荐 更多相似问题