接收用戶輸入的搜索條件;
[0101] 當(dāng)用戶進(jìn)行號碼搜索時,通過提供用戶交互界面或者語音提示等具有提示用戶輸 入功能的方法提示用戶輸入搜索條件,用戶接收到提示后,通過用戶交互界面或者語音等 能夠被接收的輸入方式輸入用戶的搜索條件,接收用戶輸入的搜索條件。
[0102] 搜索模塊300,用于根據(jù)所述搜索條件搜索存儲的所述模糊記憶信息獲得搜索結(jié) 果;
[0103] 根據(jù)所述搜索條件對存儲的所述模糊記憶信息進(jìn)行搜索,根據(jù)預(yù)設(shè)匹配算法對所 述模糊記憶信息中的信息與所述搜索條件的匹配度,根據(jù)所述匹配度選擇高于預(yù)設(shè)匹配度 的通話記錄信息生成搜索結(jié)果,所述匹配算法可以包括網(wǎng)格算法、KMP(Knuth-M 〇rris-Pratt,克努特一莫里斯一普拉特)算法、BM(Boyer-Moore,博耶-摩爾)算法、bitmap (位圖) 算法;
[0104] 針對本模塊實(shí)現(xiàn)功能,一種可能的實(shí)施方式為單元素匹配,具體實(shí)施步驟包括:
[0105] 1、接收用戶輸入的搜索條件,所述搜索條件為:號碼歸屬地址為"廈門市";
[0106] 2、根據(jù)匹配算法在通話記錄信息中搜索出地址為"廈門市"的所有號碼。
[0107] 另一種可能的實(shí)施方式為多元素匹配,具體實(shí)施步驟包括:
[0108] 1、接收用戶輸入的搜索條件,所述搜索條件為:號碼運(yùn)營商為"移動",通話時間為 "上午",通話時長為"3分鐘";
[0109] 2、根據(jù)匹配算法在通話記錄信息中搜索出號碼運(yùn)營商為"移動"的所有號碼;
[0110] 3、在上述步驟2獲得的所有號碼中,搜索出通話時間為"上午"的所有號碼;
[0111] 4、在上述步驟3獲得的所有號碼中,搜索出通話時長為"3分鐘"的所有號碼。
[0112] 另一種可能的實(shí)施方式為模糊匹配,具體實(shí)施步驟包括:
[0113] 1、接收用戶輸入的搜索條件,所述搜索條件為:通話時間為"17點(diǎn)";
[0114] 2、根據(jù)匹配算法在通話記錄信息中搜索發(fā)現(xiàn)沒有通話時間為"17點(diǎn)"的號碼;
[0115] 3、匹配出通話時間最接近的模糊記憶信息,從而縮小用戶查找陌生通話的范圍。
[0116] 展示模塊400,用于將所述搜索結(jié)果展示給用戶。
[0117] 將所述搜索結(jié)果通過用戶交互界面或用戶選定的方式展示給用戶,使得用戶可以 通過此展示獲得所述搜索結(jié)果。
[0118] 具體實(shí)施時,一種可能的具體實(shí)現(xiàn)包括:
[0119] 1、對每一個陌生通話,經(jīng)過處理,保存以下信息,即號碼歸屬地、號碼運(yùn)營商、陌生 通話日期與通話時長、陌生通話的天氣狀況以及陌生通話的位置信息等,如表1所述:
[0120]
[0121] 表1
[0122] 2、用戶根據(jù)陌生通話時的模糊記憶,匹配查找出需要的號碼信息,其中匹配方法 包括:
[0123] (1)單元素匹配:如果用戶查找陌生通話18666223578,搜索信息聯(lián)通,則會即可匹 配出18666223578或者如果用戶查找陌生通話13826511547,搜索信息廈門市,則會即可匹 配出 13826511547;
[0124] (2)多元素匹配:如果用戶查找陌生通話15112322738,搜索信息移動,則會匹配出 13826511547,15112322738,13519193265,再次搜索信息上午,則會匹配出 13826511547, 15112322738,繼續(xù)搜索信息3min,則最終會匹配出15112322738;
[0125] (3)模糊匹配:如果用戶只記得大概的來電時間18時左右,而數(shù)據(jù)庫中并沒有該時 段的陌生通話,那么搜索信息18時,則會匹配出15361503978,18666223578,即數(shù)據(jù)庫在沒 有相關(guān)信息時,匹配出最接近的模糊記憶信息,從而縮小用戶查找陌生通話的范圍;
[0126] 3、將所述搜索結(jié)果通過交互界面展示給用戶。
[0127] 在本實(shí)施例中,通過獲取并保存與陌生電話的通話記錄信息,使得用戶需要再次 使用陌生電話進(jìn)行通話時,可以通過通話時的印象快速準(zhǔn)確的檢索到需要的陌生號碼。
[0128] 進(jìn)一步的,參照圖4,為本發(fā)明電話號碼智能搜索的裝置的第二實(shí)施例,基于上述 圖3所示的實(shí)施例,所述獲取存儲模塊100包括:
[0129] 號碼信息獲取單元110,用于根據(jù)陌生電話的電話號碼,獲取陌生電話的號碼信 息;
[0130] 根據(jù)陌生電話的電話號碼按照號碼規(guī)范對電話號碼進(jìn)行分析獲取陌生電話的號 碼信息,或者通過陌生電話的電話號碼調(diào)用第三方提供的API直接獲取陌生電話的號碼信 息,所述號碼信息包括:號碼歸屬地、號碼運(yùn)營商和/或號碼類型。
[0131 ]具體實(shí)施時,一種可能的具體實(shí)現(xiàn)包括:
[0132] 在移動通信網(wǎng)絡(luò)中,用戶的手機(jī)號碼稱為移動臺國際ISDN(Integrated Services Digital Network,綜合業(yè)務(wù)數(shù)字網(wǎng))號碼,即主叫用戶呼叫數(shù)字公用陸地蜂窩移動通信網(wǎng) 絡(luò)中的用戶所需撥的號碼。它由3部分構(gòu)成,MSISDN=CC+NDC+SN,含義如下:
[0133] CC:Country Code,含義為國家碼,因?yàn)殛懙匾苿泳W(wǎng)絡(luò)遍布全球各地,自然需要對 不同國家的移動用戶進(jìn)行區(qū)分,中國的國家碼為86。在撥打國際電話時,需要國際碼。
[0134] NDC:National Destination Code,表示國內(nèi)目的地碼,也稱網(wǎng)絡(luò)接入號,也就是 平時手機(jī)撥號的前三位。中國移動網(wǎng)絡(luò)接入號為134~139、150~152、188等,中國聯(lián)通為 130 ~132、185 ~186等,中國電信為 133、153、180、189等。
[0135] SN:Subscriber Number,用戶號碼,采用等長8位編號計(jì)劃,其中SN(前四位 H1H2H3H4)的HLR(Home Location Register,歸屬位置寄存器)識別號用于表示用戶的歸屬 地。
[0136] 如一個GSM(Global System for Mobile Communication,全球移動通信系統(tǒng))聯(lián) 通手機(jī)號碼為8613007370000,86是國家碼(CC); 130是NDC,用于識別網(wǎng)絡(luò)接入號,即中國聯(lián) 通;07370000是用戶號碼的SN; 0737用于識別歸屬區(qū),即湖南益陽。
[0137] 另一種可能的具體實(shí)現(xiàn)包括:
[0138] 1、獲取陌生通話的電話號碼;
[0139] 2、根據(jù)獲取的所述電話號碼調(diào)用第三方電話號碼信息查詢API,查詢獲得所述陌 生通話的電話號碼的號碼信息。
[0140] 在本實(shí)施例中,通過記錄陌生電話號碼的號碼信息,使用戶可以根據(jù)對陌生人的 了解及通話時屏幕顯示的號碼信息產(chǎn)生的模糊印象,在需要再次使用陌生號碼是進(jìn)行搜 索,使得搜索結(jié)果更加準(zhǔn)確。
[0141] 進(jìn)一步的,參照圖5,為本發(fā)明電話號碼智能搜索的裝置的第三實(shí)施例,基于上述 圖3所示的實(shí)施例,所述獲取存儲模塊100包括:
[0142] 環(huán)境信息獲取單元120,用于通過調(diào)用預(yù)設(shè)的API獲得通話時的環(huán)境信息;
[0143] 通過獲取內(nèi)部搭載的傳感器信息調(diào)用如天氣預(yù)報(bào)API、位置信息API和/或調(diào)用運(yùn) 動狀態(tài)判斷API的方式的通話時的環(huán)境信息,所述環(huán)境信息包括:天氣信息、位置信息和/或 運(yùn)動狀態(tài)信息;
[0144] 在本實(shí)施例中,用戶可通過通話時的環(huán)境信息搜索陌生通話,使得用戶在其他信 息記憶不清楚的情況下,依然能夠快速的搜索出需要的陌生電話號碼。
[0145] 進(jìn)一步的,參照圖6,為本發(fā)明電話號碼智能搜索的裝置的第四實(shí)施例,基于上述 圖5所示的實(shí)施例,所述環(huán)境信息獲取單元120包括:
[0146] 天氣信息獲取單元121,用于調(diào)用天氣預(yù)報(bào)API獲得通話時的天氣信息;
[0147] 通過內(nèi)部所搭載的傳感器返回的信息,獲取當(dāng)前位置,根據(jù)當(dāng)前位置調(diào)用天氣預(yù) 報(bào)API獲得通話時的天氣信息。
[0148] 位置信息獲取單元122,用于調(diào)用位置信息API獲得通話時的位置信息;
[0149] 調(diào)用位置信息API,通過內(nèi)部搭載的GPS(Global Positioning System,全球定位 系統(tǒng))模塊或通過移動通信網(wǎng)絡(luò)獲得通話時的位置信息。
[0150] 運(yùn)動狀態(tài)信息獲取單元123,用于調(diào)用運(yùn)動狀態(tài)判斷API獲得通話時的運(yùn)動狀態(tài)信 息。
[0151] 通過內(nèi)部所搭載的傳感器返回的信息,調(diào)用運(yùn)動狀態(tài)判斷API,獲得通話時可能的 運(yùn)動狀態(tài)信息,所述運(yùn)動狀態(tài)可以包括:靜止、跑步、騎行、乘車和開車。
[0152] 具體實(shí)施時,以安卓手機(jī)為例,一種可能的實(shí)施方式包括:
[0153] 1、獲取陌生通話時的天氣狀況;
[0154] Android獲取天氣預(yù)報(bào)是通過借助國家氣象局或者中央氣象臺的天氣預(yù)報(bào)API實(shí) 現(xiàn)的。在Android SDK中,通過使用第三方的SDK(Software Development Kit,軟件開發(fā)工 具包)來調(diào)用WebServi ce數(shù)據(jù)庫得到實(shí)時天氣數(shù)據(jù),其中在適合手機(jī)的WebServi ce客戶端 中,比較常用的是KS0AP2。實(shí)現(xiàn)代碼如下:
[0155] //根據(jù)城市獲取城市具體天氣情況
[0156] SoapObject detail=WebServiceUtil.getffeatherByCity(city);
[0157] //獲取天氣實(shí)況
[0158] weatherCurrent = detail.getProperty(4).toString();
[0159] //解析今天的天氣情況
[0160] String date = detail.getProperty(7).toString();
[0161 ] weatherToday ="今天:"+date · split("") [0];
[0162] weatherToday=weatherToday+"\n天氣:"+date · splitd [1];
[0163] weatherToday=weatherToday+"