hcg_21 2013-05-22 03:22 采纳率: 0%
浏览 2185
已采纳

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条回答 默认 最新

  • balmy 2013-05-22 07:06
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退