有没有办法获取安卓应用程序的通话/文本统计信息



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

您可以在 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 查询并进行必要的计算。

最新更新