【问题标题】:Unexpected value of Android CallLog.Calls TYPEAndroid CallLog.Calls TYPE 的意外值
【发布时间】:2011-07-17 07:35:42
【问题描述】:

我有一个Android (2.x) 应用程序,可以读取来自CallLog.Calls.CONTENT_URI 的通话记录。

最近我收到一个错误报告,从 TYPE 字段中得到了一个意外的值。我假设在源代码中值应该始终是1, 2, 3 (CallLog.Calls.INCOMING_TYPE, CallLog.Calls.OUTGOING_TYPE, and CallLog.Calls.MISSING_TYPE repectively)

很遗憾,我没有关于我获得的实际价值的信息。我的问题是,除了上述三个之外,TYPE 字段的可能值是多少? Android javadoc 明确声明“呼叫的类型(呼入、呼出或未接)”

【问题讨论】:

    标签: android android-contacts android-contentprovider


    【解决方案1】:

    除了标准的 Incoming(1)、Outgoing(2) 和 Missed(3) 之外,还有更多类型。 到目前为止,我遇到过 4 (VoiceMail)、5 (Rejected) 和 6 (Refused List)。

    【讨论】:

    • 拒绝列表在 android calllog 中意味着什么?
    • @blackjack 可能会阻止联系人列表
    • 我想知道不同代码的方向。语音邮件 (4) 和被拒绝 (5) 来电和未接 (3) 电话是否拨出?
    • 这些其他代码,尤其是 5 和 6,是否记录在任何地方?
    【解决方案2】:
       final static int Rejected = 5;
       final static int Refused_List = 6;
       final static int Voice_Mail = 4;
    

    【讨论】:

    • 我想知道不同代码的方向。语音邮件 (4) 和被拒绝 (5) 来电和未接 (3) 电话是否拨出?
    • 在 LYF 设备上,我的输出是 6!
    • 嗨,我有点困惑,因为根据这里的文档,developer.android.com/reference/android/provider/…。如果您将 api 置于 24 以下,您会看到 REJECT_TYPE 变灰。那么为什么 5 仍然作为类型返回呢?
    【解决方案3】:

    使用定义的值,而不是离散的文字值:

    CallLog.Calls.OUTGOING_TYPE
    CallLog.Calls.INCOMING_TYPE
    CallLog.Calls.MISSED_TYPE
    

    【讨论】:

    • 唯一的问题是这里缺少一些值(看看thinkpanda的回答)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多