在下面的片段中,我正在尝试读取呼叫日志并打印它们的呼叫类型
Cursor cursor = context.getContentResolver().query(Calls.CONTENT_URI, ...);
while (cursor.moveToNext()) {
int callType = cursor.getInt(cursor.getColumnIndex(Calls.TYPE));
Log.d("callType", callType);
}
在某些情况下,我会得到官方文档中没有列出的值。有人知道这些callTypes是什么意思吗?
调用类型10
COMIO:
- COMIO S1
OPPO:
- A37fw
- CPH1609
- CPH1701
- CPH1801
- CPH1803
- CPH1823
- CPH1853
- CPH1859
- CPH1881
- CPH1893
- CPH1909
- CPH1911
- CPH1945
- CPH1969
- CPH1989
- 1801令吉
- 1807令吉
Realme:
- RMX1825
- 1827令吉
- 833令吉
- 901令吉
- 911令吉
- 992令吉
小米:
- Redmi 3S
调用类型20
opo:
- CPH1609
- CPH1701
- CPH1803
- CPH1853
- CPH1859
- CPH1901
- CPH1909
- 1801令吉
- 1807令吉
Realme:
- RMX1825
- 833令吉
- 901令吉
调用类型100
Realme:
- RMX1827
- 901令吉
调用类型1001
松下:
- 松下P85 NXT
我能够解释以下额外的调用类型常量:1000、1001、1002
在我的情况下,上面的调用类型常量用于调用日志表中的IMS调用状态。
请参见此处:https://gerrit.aicp-rom.com/c/AICP/frameworks_base/+/57943/1/core/java/android/provider/CallLog.java#210
如果可能的话,请查看android固件的源代码,您可以在core/java/android/provider/CallLog.java中看到额外的代码。希望这能有所帮助!不幸的是,这并没有很好地记录
对于我的OnePlus设备,以下代码适用于:
- 100-VoWiFi呼出
- 101-VoWiFi接入呼叫
所以我只能假设像10/20这样的其他代码可能用于相同的目的,但适用于其他制造商。糟糕的是,这些代码没有在android库中记录和实现。