【问题标题】:Call log in AndroidAndroid 通话记录
【发布时间】:2011-07-01 16:45:43
【问题描述】:

有什么方法可以获取android中特定联系人的日志通话历史记录(仅通话时间)。假设我的联系人列表中有“X”人,我想找出过去几天我们都通话的时间(所以传入和传出)(它是用户给定的,可以是一天,一周,一个月等等)。

我在搜索时遇到了这段代码,但我认为这可能只是给出了最后一次谈话的细节。如有错误请指正。

    String[] strFields = {
         android.provider.CallLog.Calls.NUMBER, 
         android.provider.CallLog.Calls.TYPE,
         android.provider.CallLog.Calls.CACHED_NAME,
         android.provider.CallLog.Calls.CACHED_NUMBER_TYPE
         };
    String strOrder = android.provider.CallLog.Calls.DATE + " DESC"; 

    Cursor mCallCursor = getContentResolver().query(
         android.provider.CallLog.Calls.CONTENT_URI,
         strFields, null, null,strOrder);

任何帮助都会很棒:)

【问题讨论】:

标签: android cursor android-contentprovider calllog


【解决方案1】:

可能有两种方法,

  1. 将正确的过滤器放在光标中。
  2. 迭代光标以收集数据。

【讨论】:

  • 嘿,谢谢你的回答。你能告诉我这个光标是否只包含那些在 Android 设备的实际通话记录应用程序中显示的通话信息。我问这个的原因是我必须知道过去 1 周左右的通话时间的详细信息,但我不认为通话记录包含这么多信息。我认为它只包含最近 20 次通话的详细信息。
  • CallLog.Calls 只提供最近的通话记录,有人知道是否有办法获取较早(例如过去一个月或一周)拨打的通话记录。
  • 我不认为他们存储他们可以提供所有的通话记录。如果你真的需要的话,你可以做定期备份。如果以上答案解决了您的原始问题,则标记为完成。
  • 嘿 Rajnikant,感谢您指出备份问题。你能告诉我如何让听众结束任何通话(传入和传出),还应该给我联系号码和通话时间。
猜你喜欢
  • 1970-01-01
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多