为什么两个不同的设备在Call Log中以1的方式前置不同?

时间:2014-08-30 14:00:29

标签: android

我有2台设备

  1. Samsung SGH-T830,运行2.2
  2. 摩托罗拉Droid Razr M,运行4.4.2
  3. Samsung上的CallLog会为调用该设备的所有来电号码预设1。

    Droid上的CallLog没有。

    此行为是否依赖于操作系统版本?我希望它能在设备之间保持一致。是否有一种强制一种行为或另一种行为的程序化方式?

    我想避免修改我的代码来搜索1xxxyyyzzzz和xxxyyyzzzz

1 个答案:

答案 0 :(得分:1)

  

此行为是否依赖于操作系统版本?

更多的是,行为取决于其他开发人员,而不是你。这包括用自己的代码替换拨号器的设备制造商,向CallLog添加记录的第三方VOIP客户端等。它可能因操作系统版本而异,尽管我对这一点有点怀疑

  

有一种强制一种行为或另一种行为的程序化方式吗?

不一般。我不能排除某些设备可以为自己的拨号器控制此行为,或者VOIP客户端具有某种API以允许第三方控制它。但是,如果有任何提议,我会感到惊讶,更不用说所有人了。

  

我想避免修改我的代码来搜索1xxxyyyzzzz和xxxyyyzzzz

不要忘记标点符号。查看我的Nexus 4的拨号器UI中呈现的通话记录 - 我有移动电话和VOIP电话 - 我看到各种格式化的值,包括+标志有时在{{{ 1}}用于美国呼叫,当设备不在美国时,括号围绕美国区号,电话号码段之间用连字符等。