經過多方面測試,終于確信諾基亞部分型號手機,如7260、3230、6670在姓名識別上有bug。
先看看是我用7260(s40,v05.50)為例做的測試。(看小結與總結也行了,表述不明白之處再參考一下測試方法。)
手機里有一來自甲13012000000的短信。通信錄里有兩個人:甲和乙。
測試:
1:設甲的號碼為13012000000,短信的發件人正常顯示為甲。
小結:手機正常。
2:依次設甲的號碼為:
13112000000、
13002000000、
13019000000(短信無法顯示發件人姓名,以下用*表示)、
13012000000(*)、
2000000、
3000000(*)、
13012000000p123、
2000000p123。
小結:手機只通過號碼的后7位來識別發件人。號碼中的符號如暫停號p、#、*等之后的號碼似乎無影響,后面再進行相關測試。
3:
(1)設甲13012000000,乙13112000000。發件人顯示:甲
(2)設甲13112000000,乙13012000000。發件人姓名顯示:乙。
(3)設甲和乙的號碼都是13012000000。發件人姓名無法顯示。
(4)設甲為13012000000,乙為2000000。發件人姓名顯示:甲
小結:當通信錄里有不止一個人的號碼的后7位相同時,手機會增加搜索位數,選取最佳匹配的姓名。
4、設甲13012000000,依次設乙
13012000000p(發件人姓名顯示為乙)、
2000000p(甲)、
13012000000+(乙)、
13012000000w(乙)、
13012000000*(甲)、
13012000000#(甲)。
小結:這是這個bug的一個優點,比如我要設自動查話費10086p1p1p1為單鍵撥號就要把號碼存入通信錄,單就這一個號碼就可以識別來自10086的短信了,不用再存多幾個號碼。*、#等同于數字。
5、(1)設甲0013012000000,乙2213012000000。發件人姓名無法顯示。
(2)設甲00013012000000,乙0013012000000。顯示甲。
小結:如果通信錄中有幾個人的號碼與短信號碼的匹配位數相同,則誰長顯誰。
6、最后對短于7位的號碼測試一下。有一條來自10086的短信。通信錄依次設“客服”為10086(正常)、110086、0086、10086p1(正常)、10086#。
小結:對短于7位的號碼,識別正常無bug。
注:通話記錄里的姓名因為不會隨通信錄更新,所以來電的只做了一點。實際上和短信的是一樣的。
完整的短信號碼應該是+8613012000000,以上測試都把國家代碼+86考慮進去了,不過沒寫出來。
諾基亞6670(s60 v6.0525.0)、3230(s60 v5.0604.0)上的測試結果與7260的相同,摩托羅拉e398無此bug。(諾基亞的我只找到這幾臺,其它牌子的只測過e398。)
總結:無論是信息還是來電,只要其數字號碼(即數字、*、#)的后7位數字與通信錄中的某人某個號碼的后7位數字相同,發件人姓名就是此人了。如果有更多的匹配姓名,則
1)匹配位數不同時,顯示匹配位數最多的,即最佳的;2)匹配位數相同,則顯示號碼最長的姓名,那些懶得刪+86的號碼有福了,偏偏這些多半都不是很熟的。
至此,我們可以看到這幾款手機在來電、短信姓名識別上的一個可大可小的bug。導致的結果可能是甲被當成乙、陌生人被當成熟人、莫名其妙地訂了收費業務、短信發錯人、電話打錯人(后兩種情況就是這篇文理不通的東東的導火線。我存了個錯的號碼,但手機卻神奇的識別出來電、短信是某人的,直到我主動發信息過去他卻收不到才發現號碼第3位搞錯了)……再具體點,其后果就是莫名其妙的誤會、秘密隱私泄漏、賬號甚至密碼泄漏……不過好的話,倒可以說是認識多個有緣人……
自然,我的測試并不很嚴密,不少測試步驟是最后加上去的。對于諾基亞的其它型號手機,相信有此bug還有不少。
希望諾基亞能早日解決,雖然碰到這種問題的不多吧。