CallLog.Calls.NEW是什么意思?

6

我目前正在尝试弄清楚什么是

CallLog.Calls.NEW

含义。

文档说明:

是否已确认通话

http://developer.android.com/reference/android/provider/CallLog.Calls.html#NEW)。我尝试复制这个行为。

我给另一部手机打了电话,当它开始响起时挂断。我会期望什么?一个拥有TYPE = OUTGOING_TYPENEW = 0的条目,对吧?但是NEW是1。这对我来说真的没有任何意义...

有什么想法吗?

7个回答

2
请查看这里的源代码。
通话始终添加一个值为1的NEW属性:
values.put(NEW, Integer.valueOf(1));

也许在通话记录应用程序或通话通知中有一种方法将其设置为零。顺便说一下,我没有寻找过这个功能。

2
我无法确定,但我猜想在你的测试场景中,你所拨打的电话可能会显示为 TYPE = INCOMING_TYPENEW = 0 ,因为该电话在该手机上尚未得到确认。 在这部手机上,你将看到通知栏中的“未接来电”图标,该通话将被视为新的 NEW

2
在模拟器中,无论是呼入还是呼出,此字段都被设置为1。然后,如果您在通话记录应用程序中单击一个通话,则该单个通话的值将被设置为零。当您激活未接来电通知时,此字段也会被设置为零。
因此,此字段的含义类似于大多数电子邮件程序用于标记刚到达但未读的电子邮件的“未读”标志。在这种情况下,所有添加到通话记录中的通话都带有NEW=1标记,当它们被确认(即“已读”)时,标记将被删除(NEW=0)。
当然,这只在未接来电的情况下才有实际用途。

0

0
在我的手机(Motorola Droid2)上: 所有 MISSED_TYPE 电话的 NEW = 0 所有 INCOMING_TYPE 和 OUTGOING_TYPE 电话的 NEW = 1。
Atrix 和 HTC Inspire 上似乎也是如此。

0

我遇到了同样的问题。我认为“NEW”只是一个标志,表示此调用尚未处理。就像未接来电一样,以 NEW = 1 开始,但当您设置呼叫应用程序时,未接来电会更改为 NEW = 0,并且通知栏中的图标会消失。


0

也许现在已经有点晚了,但我找到了答案。如果有人给你打电话,你错过了这个电话并且没有回拨,那么 CallLog.Calls.NEW=1 将被传递。

现在,如果你回拨给那个号码,那么 CallLog.Calls.NEW=0 将被传递。

对于所有类型标志而言,如果你拨打一个号码并有人回拨,情况也是一样的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接