我正在开发一个通话记录应用。使用下面的代码,我知道callType可能的值是: 1 =来电应答,2 =拨出电话,3 =来电未应答,5 =来电被拒。 什么是传出呼叫的值未回答"和#34;拨出电话被拒绝"
String strOrder = android.provider.CallLog.Calls.DATE + " DESC";
Uri callUri = Uri.parse("content://call_log/calls");
Cursor cur = cr.query(callUri, null, null, null, strOrder);
// loop through cursor
while (cur.moveToNext()) {
String callType = cur.getString(cur.getColumnIndex(android.provider.CallLog.Calls.TYPE));
}
答案 0 :(得分:1)
你永远不应该使用int来检查类型(例如if (callType == 1)
),因为1可能在不同的Android版本中有其他含义。相反,请使用API提供的constants
。在你的情况下,这些是
CallsLog.Calls.INCOMING_TYPE
来电CallsLog.Calls.MISSED_TYPE
未接来电CallsLog.Calls.OUTGOING_TYPE
拨打电话CallsLog.Calls.VOICEMAIL_TYPE
进行语音信箱通话你永远不应该打扰哪个常数具有什么值(1,2或3),因为它们可能会改变,但是它们的名称(INCOMING_TYPE
,MISSED_TYPE
,OUTGOING_TYPE
,{{1绝对不会改变。
希望这有帮助!