android.provider.CallLog.Calls.TYPE传出呼叫未应答和传出呼叫被拒绝?

时间:2016-03-10 17:26:23

标签: android

我正在开发一个通话记录应用。使用下面的代码,我知道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));
}

1 个答案:

答案 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_TYPEMISSED_TYPEOUTGOING_TYPE,{{1绝对不会改变。

希望这有帮助!