我有2個裝置爲什麼2個不同的設備在呼叫日誌中預先加1的方式不同?
- 三星SGH-T830,運行2.2
- 摩托羅拉DROID RAZR M,運行4.4.2
對三星的CallLog前添加一個1到所有來電的電話號碼調用設備。
Droid上的CallLog沒有。
這是依賴於操作系統版本的行爲?我希望這將是設備之間的一致。有沒有一種強制一種行爲或另一種行爲的程序化方式?
我想避免修改我的代碼搜索都1XXXYYYZZZZ和xxxyyyzzzz
我有2個裝置爲什麼2個不同的設備在呼叫日誌中預先加1的方式不同?
對三星的CallLog前添加一個1到所有來電的電話號碼調用設備。
Droid上的CallLog沒有。
這是依賴於操作系統版本的行爲?我希望這將是設備之間的一致。有沒有一種強制一種行爲或另一種行爲的程序化方式?
我想避免修改我的代碼搜索都1XXXYYYZZZZ和xxxyyyzzzz
是這種行爲依賴於操作系統的版本?
這是更多的行爲取決於其他開發人員,而不是你。這包括用自己的代碼取代撥號器的設備製造商,向CallLog
等添加記錄的第三方VOIP客戶端等等。它也可能因操作系統版本而異,但我對此持懷疑態度。
是否存在強制一種行爲或另一種行爲的程序化方式?
不一般。我不能排除一些設備有一些控制這些行爲的手段,或者VOIP客戶端具有某種API以允許第三方來控制這種行爲。但是,如果有的話,我會感到驚訝,更不用說所有人了。
我想避免修改我的代碼搜索都1XXXYYYZZZZ和xxxyyyzzzz
不要忘記標點符號。看看在我的Nexus 4的撥號器UI中呈現的通話記錄 - 我同時撥打了移動電話和VOIP電話 - 我看到了各種格式化的值,其中包括+
標誌,有時在1
之前用於美國通話。設備不在美國,美國地區代碼周圍的括號,電話號碼段之間的連字符等。
我正在談論他們如何存儲在由CallLog.Calls.NUMBER給出的列中 當我在我的任一設備上以編程方式訪問此列,我始終將未格式化的數字作爲1xxxyyyzzzz或xxxyyyzzzz返回。 三星的撥號器用戶界面顯示1xxxyyyzzzz,而Droid的撥號器顯示(xxx)yyy-zzzz,所以我認爲這可能與撥號器有關 – user1126515 2014-08-30 14:32:10
@ user1126515:「在我的任一設備上,我始終得到未格式化的數字」 - 有數千設備模型,除了所有VOIP客戶端外,還有數百個撥號程序實現。不要以爲他們都會以同樣的方式將數據插入'CALL_LOG'。 – CommonsWare 2014-08-30 14:34:26