首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在收件箱/发件箱中获取电话号码

在收件箱/发件箱中获取电话号码
EN

Stack Overflow用户
提问于 2012-07-03 15:20:57
回答 1查看 674关注 0票数 1

我目前正在使用

代码语言:javascript
运行
复制
ContentResolver cr = getContentResolver();
Uri uri = Uri.parse("content://sms/");
Cursor messagesCursor = cr.query(uri, new String[] { "_id", "address", "body", "person" }, null, null, null);

if (messagesCursor.getCount() > 0) {
    while (messagesCursor.moveToNext()) {
        colName = getContactName(messagesCursor.getString(messagesCursor.getColumnIndex("address"))) + "\n";
    }
}

以获取用户收件箱中的所有文本。从那里,messagesCursor.getColumnIndex("address")将得到短信的号码。然后它将位于getContactName()中,然后它将从联系人的列表中获取联系人的名称。

这个方法需要很长时间才能通过每条文本消息,获取号码,然后获取联系人的名称,检查数组中是否存在名称,如果它没有放入数组,那么就创建一个ListView。

如果用户的收件箱包含大量文本,该应用程序将需要很长时间才能在启动时加载。

有什么特别的方法从收件箱中获取唯一的号码吗?cr.query中的某些东西

提前谢谢。

编辑:

我只是在创建一个简单的收件箱应用程序。它从原始收件箱消息中读取并列出其中的消息。

对于这个项目,我所做的就是阅读所有的“地址”,即电话号码,把它放在一个ArrayList中,最后放到ListView上。当它遍历收件箱中的所有消息时,需要很长时间才能启动。

例如:

收件箱信息

  • 人1 人1 人1 人2 人2 人3 人3 人3 人3

当前代码所做的工作:

读每一条信息

检查ArrayList中的名称

如果是的话,斯基普。如果没有,则添加数组。

把ArrayList扔进ListView。

我的意图是:

只读出以下内容的代码:

人1

人2

人3

EN

回答 1

Stack Overflow用户

发布于 2012-07-03 17:38:08

在投影中只使用"address“(意思是,甚至不包括"_id") --我不确定这一点,但这可能会解决问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11314093

复制
相关文章

相似问题

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