如何在Android呼叫记录中存储呼叫类型(传入/传出/未接)?

Mat*_*ris 5 android

这可能是一个愚蠢的问题,我有点像菜鸟.我正在读这篇文章:如何访问Android的通话记录?

在代码底部的答案中,他们有这一行:

int type = Integer.parseInt(c.getString(c.getColumnIndex(CallLog.Calls.TYPE)));// for call type, Incoming or out going
Run Code Online (Sandbox Code Playgroud)

我对调用类型的存储方式有点困惑,是字符串还是整数?显示的代码行使我认为它保存为数字,但是以字符串格式保存.任何人都可以向我解释这个吗?

谢谢,马特

Pal*_*asz 9

类型存储为整数.这就是我获取新未接来电列表的方法:

cursor = cr.query(Uri.parse("content://call_log/calls"), null, "type = 3 AND new = 1", null, "date DESC");
Run Code Online (Sandbox Code Playgroud)

当然使用CallLog.Calls.MISSED_TYPE,INCOMING_TYPE和OUTGOING_TYPE常量会更好.


Hir*_*ral 5

这里CallLog.Calls.TYPE给出了数据库中的字段名称,用于获取调用类型的信息,其中包含用于保存调用类型的整数值,尽管它可能是文本字段.

1为传入类型

2错过类型

传出类型3

你只需要使用它们一样android.provider.CallLog.Calls.MISSED_TYPE, android.provider.CallLog.Calls.INCOMING_TYPEandroid.provider.CallLog.Calls.OUTGOING_TYPE只.