contentprovider-Android 中通过 number 读取 sms

问题描述

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 nullnull); 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 的整个消息还有指定的数量。如何实现?

解决方案

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

时间: 2024-11-05 04:57:05

contentprovider-Android 中通过 number 读取 sms的相关文章

Android中Json数据读取与创建的方法

首先介绍下JSON的定义,JSON是JavaScript Object Notation的缩写. 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. JSON的结构: (1) Name/Value Pairs(无序的):类似所熟知的Keyed list. Hash table.Disctiona

nfc技术-Android中使用NFC读取NfcA类型的芯片,Apdu指令怎么获取?

问题描述 Android中使用NFC读取NfcA类型的芯片,Apdu指令怎么获取? Android中使用NFC读取NfcA类型的芯片,Apdu指令怎么获取?就是 byte[] response = mNfc.transceive(cmd);中的这个cmd命令! 解决方案 补充:芯片卡是NFC-A (ISO 14443-3A) TpyeA类型的,得到的Tag是android.nfc.tech.NfcA类型 解决方案二: 解决了吗?今天也遇到同样的问题了.求大神不吝赐教. 解决方案三: 楼上的解决了

Android中使用SDcard读取文件_Android

平时我们需要在手机上面存储想音频,视频等等的大文件,以前学过使用File进行存储(使用File操作进行存储):由于考虑到手机本身的存储空间小,这时候我们需要把文件存储在SDcard中,今天自己也学习了一下在android进行sdcard的存储使用方法; 首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置: 在AndroidManifest.xml中加入访问SDCard的权限如下: <!-- 在SDCard中创建与删除文件权限 --

Android中使用SDcard读取文件

平时我们需要在手机上面存储想音频,视频等等的大文件,以前学过使用File进行存储(使用File操作进行存储):由于考虑到手机本身的存储空间小,这时候我们需要把文件存储在SDcard中,今天自己也学习了一下在android进行sdcard的存储使用方法; 首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置: 在AndroidManifest.xml中加入访问SDCard的权限如下: <!-- 在SDCard中创建与删除文件权限 --

Android 中使用 AsyncTask 异步读取网络图片_Android

 1.新建Android工程AsyncLoadPicture 新建布局文件activity_main.xml主界面为一个GridView,还有其子项布局文件gridview_item.xml 2.功能主界面MainActivity.java,主代码如下 package com.example.asyncloadpicture; import java.util.ArrayList; import android.app.Activity; import android.content.Conte

【Android】Android中ContentProvider组件详解

原文来自:http://blog.csdn.net/zuolongsnail/article/details/6566317 ContentProvider(内容提供者)是Android中的四大组件之一.主要用于对外共享数据,也就是通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对指定应用中的数据进行操作.ContentProvider分为系统的和自定义的,系统的也就是例如联系人,图片等数据.   以下这段是Google Doc中

Android中ContentProvider组件详解

一.Android四大组件 Android四大组件是Activity, Service, Content Provider,Broadcast Receiver. Activity作为程序界面,直接与用户交互 Service运行在后台,没有界面,完成特定的功能 ContentProvider维护应用数据,方便应用本身或其它应用访问 Broadcast Receiver提供异步广播消息接收机制,便于各应用/组件进行交互 二.什么是ContentProvider         ContentPro

android手机开发之读取收件箱中指定号码短信

一.首先简单介绍一下:ManagedQuery() 参数: 1.URI:content provider需要返回的资源索引.例如:收信箱:  代码如下 复制代码 content://sms/inbox 2.Projection: 用于标识有哪些columns需要包含在返回数据中.例如:id号,地址,消息体,读取状态...  代码如下 复制代码 new String[] {"_id", "address", "body", "read&q

详解Android中的ContentProvider和Uri

一.使用ContentProvider(内容提供者)共享数据 ContentProvider在android中的作用是对外共 享数据,也就是说你可以通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过 ContentProvider对你应用中的数据进行添删改查.关于数据共享,以前我们学习过文件操作模式,知道通过 指定文件的操作模式为Context.MODE_WORLD_READABLE或Context.MODE_WORLD_WRITEABLE同样也可以对外共享 数