这些值对CallLog.Calls.CACHED_NUMBER_TYPE字段意味着什么?

时间:2011-09-03 23:19:26

标签: android constants calllog

我查询了Android上的通话记录。对于CallLog.Calls.CACHED_NUMBER_TYPE字段,某些调用为0,其他调用为1。这些数字是什么意思? 1意味着“家”吗?这记录在哪里?

1 个答案:

答案 0 :(得分:2)

AFAIK,没有明确记载。但是如果你阅读了android的源代码,你会发现使用的是

中定义的整数

http://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Phone.html

(见允许的DATA2)。


关于如何在相关的android源代码中进行检索:例如在tests =>中

https://github.com/android/platform_packages_providers_contactsprovider/blob/c085b3eeebf13ebdfb197444747354a1d6eced2b/tests/src/com/android/providers/contacts/CallLogProviderTest.java#L81


如果您想通过呼叫日志和呼叫者信息做更多事情,我已经提取了Android的CallerInfo类的独立版本:

http://code.google.com/p/csipsimple/source/browse/trunk/CSipSimple/src/com/csipsimple/models/CallerInfo.java

它允许我通过我自己的显示名称进行缓存(不一定是所有制造商的所有Android联系人应用程序 - HTC意义)。


此外,请记住,联系人应用程序在刷新屏幕时可能会删除所有这些缓存值。如果您想确保您的价值仍然是我现在找到的唯一方法,那就是创建一个相关的联系人。

请参阅https://github.com/Wysie/android_packages_apps_Contacts/blob/c3772f17c37817ebb4eb925146c3a633aa258aa2/src/com/android/contacts/RecentCallsListActivity.java#L364

(呼叫日志应用的源代码,自动刷新缓存值)。

警告此代码可能与制造商的自定义分配不同。例如,正如我所说,HTC在他们的HTC Sense中做的不同。甚至在Android AOSP版本中它也会发生变化。毫无疑问,三星在他们的用户界面中以自己的方式做事。