首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从"canonical_addresses“表中获取地址

从"canonical_addresses“表中获取地址
EN

Stack Overflow用户
提问于 2012-09-19 18:08:58
回答 2查看 4.3K关注 0票数 7

我正在开发一个Android应用程序。我从下面的uri中获取了recipient_id。

代码语言:javascript
复制
content://mms-sms/conversations?simple=true

现在我想从canonical_addresses" table using the recipient id. But I don't have any idea to query canonical_addresses table"获取地址。我在网络上搜索了很多。朋友们,请帮我找到一个解决方案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-19 18:50:37

规范表有两列:_idaddress。当您获得收件人id时,您可以在规范地址表中查找该id。对于多个收件人,ids由空格分隔,因此必须拆分结果,如下所示

recipient_ids.split(" ")

并查找每个id。

代码语言:javascript
复制
getContentResolver().query(Uri.parse("content://mms-sms/canonical-addresses"), null, "_id = " + recipientId, null, null);

代码语言:javascript
复制
getContentResolver().query(Uri.parse("content://mms-sms/canonical-address/" + recipientId), null, null, null, null);
票数 13
EN

Stack Overflow用户

发布于 2013-04-10 13:53:04

代码语言:javascript
复制
message = contentResolver.query(uri, null,null, null,SORT_ORDER);
            if(message != null){
                while (message.moveToNext()) {
                        String id = message.getString(message.getColumnIndex("_id"));
                        String thid = message.getString(message.getColumnIndex("thread_id"));
                        String phoneNumber = message.getString(message.getColumnIndex("address"));
                        String person = message.getString(message.getColumnIndex("person"));
                        //String present = message.getString(message.getColumnIndex("reply_path_present"));
                        //Log.v("sms "+thid,id);
                        //Log.v("sms "+present,present);
                        if(phoneNumber !=null ){
                                //if(phoneNumber.contains("-"))
                                    phoneNumber=phoneNumber.replaceAll("[-() ]", "");
                        }
                        else
                        {
                             Cursor c =contentResolver.query(Uri.parse("content://mms-sms/conversations?simple=true"), null, "_id = " + thid, null, null);
                             //getContentResolver().query(Uri.parse("content://mms-sms/canonical-addresses"), null, "_id = " + recipientId, null, null);
                             if(c.moveToNext())
                             {

                                 phoneNumber = c.getString(3);
                                 if(phoneNumber !=null ){
                                        //if(phoneNumber.contains("-"))
                                     Log.v(" id=>" +id+ " thid=>"+thid +" first = > " , c.getString(3));
                                }
                             }
                             c.close();
                             c =contentResolver.query(Uri.parse("content://mms-sms/canonical-addresses"), null, "_id = " + phoneNumber, null, null);
                             if(c.moveToNext())
                             {
                                 Log.v(thid +" second = > " , c.getString(1));
                                 phoneNumber = c.getString(1);
                                 phoneNumber=phoneNumber.replaceAll("[-() ]", "");
                             }
                             c.close();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12492602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档