2 hcg 21 hcg_21 于 2013.05.22 11:22 提问

Android 中通过 number 读取 sms

我做了一个 sms 应用程序。在程序中我列出所有的 convrsation。因此我使用下面的uri:

content://mms-sms/conversations/

可以正常运行,下面是代码片段:

Uri uri = Uri.parse("content://mms-sms/conversations/");
 Cursor c= getContentResolver().query(uri, null, null ,null,null);
 startManagingCursor(c);
 if(c.moveToFirst()){

            for(int i=0;i<c.getCount();i++){
                     body[i]= c.getString(c.getColumnIndexOrThrow("body")).toString();
                     number[i]=c.getString(c.getColumnIndexOrThrow("address")).toString();
                     c.moveToNext();
             }
    }
    c.close();

    for (int i = 0; i < body.length; i++) {
        System.out.println("body ="+body[i]);
        System.out.println("number ="+number[i]);
    }

Number 打印的是每个 conversations 数量,body 打印的是每个conversations的最后一条信息。
我想获得每个 conversation 的整个消息还有指定的数量。如何实现?

1个回答

baimy1985
baimy1985   2013.05.22 15:06
已采纳

android的sms一个会话conversation对应一个threadId,你根据threadId去查询会话的内容,再计算每个threadId中的消息数量就可以实现你的需求。你的sms应该是指整个信息吧,每个会话既有sms短信也有mms彩信,只要短信的话你还得过滤下。threadId可以通过查询信息的thread表得到。你现在用的这个uri应该是信息应用主界面显示用到那个。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!