2

我和我的团队正在制作一个基本上是地址簿的 Android 应用程序。我们想添加很酷的统计信息,例如您收到的最长文本,以及您收到/发送的所有文本中有多少条文本,以及与通话相同的文本。我找不到访问信息的方法。谢谢

4

1 回答 1

0

您可以在 SMS/MMS ContentProvider 中找到所有文本统计信息。并且所有通话统计数据也可以在各自的提供商中找到。如果您想实时了解任何更新,请使用内容观察器来侦听相应数据库中的更新。否则,只需在需要时读取数据。

http://developer.android.com/reference/android/content/ContentProvider.html

http://developer.android.com/reference/android/database/ContentObserver.html

此信息应该可以帮助您入门:

ContentResolver cr = getContext().getContentResolver();
Cursor cur = null;
//This is a query for SMS database
cur = cr.query(Uri.parse("content://sms"), projection, where,values, sortOrder);

//Do whatever you want with the result 

cur.close();
// This query works with MMS data
cur = cr.query(Uri.parse("content://mms"), projection, where, values, sortOrder);

//Process MMS results

cur.close();

//Ask for Call statistics
cur = cr.query(CallLog.Calls.CONTENT_URI, projection, where,values, sortOrder);

//Process the call statistics
cur.close();

数据库包含许多不同的字段,您可以使用这些字段来计算所需的统计数据。我建议先转储数据库的内容,然后查看字段以了解给出的信息。然后,您可以开始创建复杂的 SQL 查询并进行必要的计算。

于 2012-11-19T02:17:14.467 回答