一種基于Android系統(tǒng)自動獲取手機(jī)號碼的方法及裝置制造方法
【專利摘要】本發(fā)明提出了一種Android系統(tǒng)自動獲取手機(jī)號碼的方法及裝置,由客戶端模塊和解析服務(wù)器兩部分組成,所述的客戶端模塊包括接口調(diào)用子模塊、獲取數(shù)據(jù)子模塊、硬件數(shù)據(jù)獲取子模塊、檢測網(wǎng)絡(luò)子模塊、設(shè)置網(wǎng)絡(luò)子模塊。能夠用于解決繁瑣的用戶注冊模式,并為應(yīng)用程序提供準(zhǔn)確的標(biāo)識等功能。
【專利說明】-種基于Android系統(tǒng)自動獲取手機(jī)號碼的方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明主要用于基于Android系統(tǒng)的應(yīng)用產(chǎn)品中為客戶提供獲取手機(jī)號碼功能 的領(lǐng)域,涉及需要將手機(jī)號碼作為標(biāo)識或作為業(yè)務(wù)數(shù)據(jù)的各種應(yīng)用產(chǎn)品中。
【背景技術(shù)】
[0002] 隨著移動信息化技術(shù)的進(jìn)步和中國電信3G業(yè)務(wù)的快速發(fā)展,移動信息技術(shù)走進(jìn) 了人們的工作和生活之中。通過掌上終端、PDA、手機(jī)等移動設(shè)備,以電信、互聯(lián)網(wǎng)通訊技術(shù) 融合的方式,人們可以隨時隨地進(jìn)行隨身的移動化信息生活和工作。
[0003] 與國內(nèi)3G業(yè)務(wù)發(fā)展的同時,Google公司推出了一個開源的智能終端平臺 Android,多家終端設(shè)備廠商都能夠使用這個開源平臺進(jìn)行自己的智能設(shè)備的開發(fā)。這樣 大大降低了設(shè)備商對于設(shè)備的開發(fā)成本和開發(fā)周期。谷歌在開源android的同時也開放 了 android API,開發(fā)的核心語言是程序員熟悉的java,因此對于很多傳統(tǒng)的程序員來說, 開發(fā)門檻較低,能從j2EE或者j2ME迅速轉(zhuǎn)型。因此,越來越多的開發(fā)者進(jìn)入了移動互聯(lián) 網(wǎng)軟件的設(shè)計和研發(fā)的領(lǐng)域中,其中出現(xiàn)了很多優(yōu)秀的應(yīng)用軟件和優(yōu)異的應(yīng)用軟件開發(fā)公 司。與此同時,Google公司發(fā)布了自己的應(yīng)用軟件市場。相對于Apple公司的網(wǎng)上商店來 說,Google公司的應(yīng)用軟件市場更加的開發(fā)、友好、容易開發(fā)者進(jìn)入。因此,Android領(lǐng)域的 各個方面都有了一個良好的發(fā)展環(huán)境,得到了快速的發(fā)展,甚至已經(jīng)觸動甚至超過了 Apple 公司領(lǐng)頭羊的地位。
[0004] Android應(yīng)用產(chǎn)品百花齊放,用戶能夠獲取各自所需的各種產(chǎn)品。對于Android應(yīng) 用產(chǎn)品開發(fā)者來說,對每一位用戶進(jìn)行唯一標(biāo)識并方便用戶操作,提供自動化的各種服務(wù) 來吸引住客戶。其中,各個應(yīng)用產(chǎn)品自動去獲取用戶手機(jī)號碼,方便其注冊和使用是一個非 常普遍和通用的方法。但是,國內(nèi)的電信運(yùn)營商的模式是機(jī)卡分離的,而且在發(fā)行手機(jī)卡時 也沒有將手機(jī)號碼寫入到卡上。這樣就造成了 Android應(yīng)用產(chǎn)品開發(fā)者無法通過Android API直接獲取到用戶的手機(jī)號碼等標(biāo)識。因此,有眾多產(chǎn)品開發(fā)者為用戶提供了其他的模式 來唯一標(biāo)識和追蹤用戶,譬如提供用戶注冊和登陸模塊。
[0005] 本發(fā)明為了解決以上繁瑣的用戶注冊模式,并為應(yīng)用程序提供準(zhǔn)確的標(biāo)識等功 能,提出了一種Android系統(tǒng)自動獲取手機(jī)號碼的方法及裝置。
【發(fā)明內(nèi)容】
[0006] 國內(nèi)電信運(yùn)營商3G業(yè)務(wù)的快速發(fā)展,促進(jìn)了中國移動互聯(lián)網(wǎng)領(lǐng)域的迅速發(fā)展, Android或者iOS等智能終端得到了大量的普及和使用。因此,國內(nèi)的移動應(yīng)用程序也如 雨后春筍般的快速涌現(xiàn)。個人數(shù)據(jù)的查看和操作,是各種應(yīng)用程序的靈魂。但現(xiàn)今多種應(yīng) 用程序都提供新用戶注冊、用戶登錄的模式,供用戶使用。這種通用的模式存在以下幾點(diǎn)問 題:
[0007] (1)新用戶注冊、用戶登錄對于用戶來說,是比較繁瑣的操作步驟。用戶在新接觸 到一款應(yīng)用程序時的第一印象非常重要。往往,第一印象決定了用戶對于應(yīng)用的喜好程度, 甚至決定了該用戶是否會繼續(xù)或者長期使用該應(yīng)用程序。而新用戶注冊、用戶登錄的步驟 對于用戶來說,是比較繁瑣復(fù)雜的一個過程。用戶需要在顯示屏幕不大的智能終端的完成 注冊和登陸的過程。尤其是對于很多中老年或者不會輸入文字的用戶來說,更是一道門檻。 這樣將眾多的用戶拒之門外。
[0008] (2)新用戶注冊、用戶登錄、檢測注冊號碼是否可用等操作對于應(yīng)用程序的開發(fā)者 來說,也是比較復(fù)雜的過程。開發(fā)者需要設(shè)計并研發(fā)出友好的用戶界面,能夠是所有用戶都 理解和掌握界面上的內(nèi)容和使用發(fā)放。這對于開發(fā)者來說,需要花費(fèi)一部分設(shè)計和研發(fā)的 時間和工作。而這部分雖然不是應(yīng)用程序最核心的內(nèi)容,但確實(shí)其業(yè)務(wù)邏輯的一個重要的 組成部分,甚至說是一個開發(fā)者開發(fā)過程中的雞肋。
[0009] (3)隨著智能終端的大量生產(chǎn)和推廣,其擁有量也達(dá)到了一個新的高度。智能終端 已不再是一個奢侈品,而是一個普通電器,甚至眾多用戶擁有超過一臺設(shè)備或頻繁的更換 新的眾多設(shè)備。這樣用戶也需要在不同的設(shè)備上進(jìn)行使用時,需要再一次地進(jìn)行登陸等操 作,無疑增加了用戶的操作步驟。
[0010] 基于以上幾點(diǎn)因素,本發(fā)明提出一種基于Android系統(tǒng)自動獲取手機(jī)號碼的方法 及裝置。開發(fā)者使用該方法和裝置,可以減少新用戶注冊、用戶登錄等繁瑣的用戶操作,同 時也不需要再進(jìn)行相應(yīng)模塊的設(shè)計和研發(fā)工作,同時還使得其應(yīng)用程序能夠在更換終端設(shè) 備時也不需要做相應(yīng)的操作。無論是用戶,還是開發(fā)者,本文提出的方法及裝置都能夠起到 了減少操作和時間的作用。
[0011] 實(shí)現(xiàn)本發(fā)明目的的具體技術(shù)方案如下:
[0012] 一種基于Android系統(tǒng)自動獲取手機(jī)號碼的裝置,由客戶端模塊和解析服務(wù)器兩 部分組成,
[0013] 所述的客戶端模塊包括接口調(diào)用子模塊、獲取數(shù)據(jù)子模塊、硬件數(shù)據(jù)獲取子模塊、 檢測網(wǎng)絡(luò)子模塊、設(shè)置網(wǎng)絡(luò)子模塊;
[0014] 所述的接口調(diào)用子模塊與獲取數(shù)據(jù)子模塊連接,用于在收到應(yīng)用程序發(fā)來的調(diào)用 請求后記錄應(yīng)用程序的回調(diào)接口,觸發(fā)獲取數(shù)據(jù)子模塊工作,接收獲取數(shù)據(jù)子模塊獲得的 手機(jī)號碼送入回調(diào)接口;
[0015] 所述的獲取數(shù)據(jù)子模塊還與硬件數(shù)據(jù)獲取子模塊及檢測網(wǎng)絡(luò)子模塊連接,且與解 析服務(wù)器無線連接,用于與解析服務(wù)器通訊并解析其返回的結(jié)果;
[0016] 所述的硬件數(shù)據(jù)獲取子模塊與獲取數(shù)據(jù)子模塊、手機(jī)硬件信息模塊、SIM卡及設(shè)置 網(wǎng)絡(luò)子模塊連接:
[0017] 當(dāng)硬件數(shù)據(jù)獲取子模塊被獲取數(shù)據(jù)子模塊啟動時,硬件數(shù)據(jù)獲取子模塊用于從手 機(jī)硬件信息模塊獲取手機(jī)硬件號碼字段和從SM卡上獲取SIM卡號字段數(shù)據(jù),并將其發(fā)送 給獲取數(shù)據(jù)子模塊;
[0018] 當(dāng)硬件數(shù)據(jù)獲取子模塊被設(shè)置網(wǎng)絡(luò)子模塊啟動時,硬件數(shù)據(jù)獲取子模塊用于從 SIM卡上獲取SM卡號字段數(shù)據(jù),并將其發(fā)送給設(shè)置網(wǎng)絡(luò)子模塊;
[0019] 所述的檢測網(wǎng)絡(luò)子模塊與獲取數(shù)據(jù)子模塊、手機(jī)網(wǎng)絡(luò)終端、用戶提示模塊、設(shè)置網(wǎng) 絡(luò)子模塊連接,用于在被獲取數(shù)據(jù)子模塊啟動后檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)狀態(tài),根據(jù)其狀 態(tài)或發(fā)送相應(yīng)狀態(tài)給用戶提示模塊,使其給用戶發(fā)送提示信息,或向獲取數(shù)據(jù)子模塊發(fā)出 指令,使其向解析服務(wù)器請求數(shù)據(jù),或啟動設(shè)置網(wǎng)絡(luò)子模塊;
[0020] 所述的設(shè)置網(wǎng)絡(luò)子模塊與檢測網(wǎng)絡(luò)子模塊、硬件數(shù)據(jù)獲取子模塊、獲取數(shù)據(jù)子模 塊及手機(jī)網(wǎng)絡(luò)模塊連接,用于將當(dāng)前手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)類型切換至運(yùn)營商Wap連接狀 態(tài);
[0021] 所述的解析服務(wù)器用于收到客戶端模塊的獲取數(shù)據(jù)子模塊發(fā)來的SIM卡號數(shù)據(jù) 及獲取手機(jī)號碼的請求后將SIM卡號數(shù)據(jù)解析成手機(jī)號碼,將手機(jī)號碼按照一定格式組成 返回結(jié)果發(fā)送給客戶端模塊的獲取數(shù)據(jù)子模塊。
[0022] -種基于Android系統(tǒng)自動獲取手機(jī)號碼的方法,由以下"接口調(diào)用的步驟"、"獲 取手機(jī)號碼的步驟"、"檢測網(wǎng)絡(luò)的步驟"、"設(shè)置網(wǎng)絡(luò)的步驟"、"解析SIM卡號數(shù)據(jù)的步驟"實(shí) 現(xiàn):
[0023] 接口調(diào)用的步驟:在收到應(yīng)用程序發(fā)來的調(diào)用請求后記錄應(yīng)用程序的回調(diào)接口, 進(jìn)入獲取手機(jī)號碼的步驟,接收獲取到手機(jī)號碼后送入回調(diào)接口;
[0024] 獲取手機(jī)號碼的步驟:包括啟動解析SIM卡號數(shù)據(jù)的步驟及在收到手機(jī)號碼后解 析手機(jī)號碼的步驟,
[0025] 啟動解析SIM卡號數(shù)據(jù)的步驟如下:
[0026] 向解析服務(wù)器發(fā)送獲取手機(jī)號碼的請求,
[0027] A :如果在返回結(jié)果的時間間隔內(nèi)解析服務(wù)器沒有響應(yīng),則直接返回失敗結(jié)果,
[0028] B :如果獲取到解析服務(wù)器返回的結(jié)果,便對結(jié)果進(jìn)行解析;
[0029] 所述解析手機(jī)號碼的步驟如下:
[0030] (4)檢測本地數(shù)據(jù)庫是否存在,若不存在新建本地數(shù)據(jù)庫及本地數(shù)據(jù)庫中的表 格;
[0031] (5)若本地數(shù)據(jù)庫存在,則從中獲取手機(jī)硬件號碼字段、SIM卡號字段、手機(jī)號碼 字段的數(shù)據(jù):
[0032] 若數(shù)據(jù)全為空,則進(jìn)入檢測網(wǎng)絡(luò)的步驟,
[0033] 若數(shù)據(jù)不為空,查看手機(jī)號碼字段:
[0034] A :若手機(jī)號碼字段為空,則進(jìn)入檢測網(wǎng)絡(luò)的步驟;
[0035] B :若手機(jī)號碼字段存在,則獲取的手機(jī)硬件號碼數(shù)據(jù)和SIM卡號數(shù)據(jù);
[0036] (6)將手機(jī)硬件號碼數(shù)據(jù)和SIM卡號數(shù)據(jù)與本地數(shù)據(jù)庫中相應(yīng)字段數(shù)據(jù)進(jìn)行比 對:
[0037] 若比對結(jié)果一致或無需比對(在首次解析的情況下本地數(shù)據(jù)庫中相應(yīng)字段全為 空,此時無需比對)則將獲得的手機(jī)號碼、手機(jī)硬件號碼、SIM卡號及獲取時間的數(shù)據(jù)存入 到本地數(shù)據(jù)庫相應(yīng)的字段中,并將手機(jī)號碼字段對應(yīng)的手機(jī)號碼數(shù)據(jù)返回給回調(diào)接口;
[0038] 若比對結(jié)果不一致,則進(jìn)入檢測網(wǎng)絡(luò)的步驟;
[0039] 檢測網(wǎng)絡(luò)的步驟如下:
[0040] 檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否為無線網(wǎng)絡(luò)接通狀態(tài):
[0041] (1)若不是則將相應(yīng)結(jié)果返回給用戶提示模塊,用戶提示模塊收到后向用戶發(fā)送 開啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài)的提示信息;
[0042] 具體為:
[0043] 檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否可達(dá):
[0044] A :若網(wǎng)絡(luò)不可達(dá)則將相應(yīng)結(jié)果返回給用戶提示模塊,用戶提示模塊收到后提示用 戶開啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài);
[0045] B :若網(wǎng)絡(luò)可達(dá)則檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否為Wifi連接狀態(tài),若是則將相應(yīng)結(jié) 果返回給用戶提示模塊,用戶提示模塊收到后提示用戶開啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài);
[0046] (2)若是則檢測此時手機(jī)網(wǎng)絡(luò)終端所連接的網(wǎng)絡(luò)類型:
[0047] A :若網(wǎng)絡(luò)類型為運(yùn)營商Wap連接狀態(tài),則進(jìn)入獲取手機(jī)號碼的步驟;
[0048] B :若網(wǎng)絡(luò)類型為互聯(lián)網(wǎng)Net狀態(tài),則進(jìn)入設(shè)置網(wǎng)絡(luò)的步驟;
[0049] 設(shè)置網(wǎng)絡(luò)的步驟如下:
[0050] 第一步,檢測手機(jī)是否已設(shè)置到了初始網(wǎng)絡(luò)狀態(tài):
[0051] (1)若是則進(jìn)入下一步;
[0052] (2)若不是則從SM卡上獲取SM卡號字段數(shù)據(jù),得到數(shù)據(jù)后判斷當(dāng)前手機(jī)屬于國 內(nèi)哪一家運(yùn)營商,接著,將該運(yùn)營商Wap網(wǎng)絡(luò)的連接用戶名、密碼、代理地址、代理端口數(shù)據(jù) 設(shè)置到手機(jī)網(wǎng)絡(luò)模塊上,此刻手機(jī)網(wǎng)絡(luò)模塊即已設(shè)置到了初始網(wǎng)絡(luò)狀態(tài);
[0053] 第二步,根據(jù)手機(jī)上的連接用戶名、密碼、代理地址、代理端口的數(shù)據(jù)對運(yùn)營商的 Wap網(wǎng)絡(luò)進(jìn)行測試,
[0054] (1)若測試成功則說明網(wǎng)絡(luò)類型已切換至運(yùn)營商Wap連接狀態(tài);
[0055] (2)若測試不成功則檢測當(dāng)前測試次數(shù)是否大于系統(tǒng)限制的最大次數(shù),
[0056] A :若未超過最大次數(shù)則重新根據(jù)手機(jī)上的連接用戶名、密碼、代理地址、代理端口 信息對運(yùn)營商的Wap網(wǎng)絡(luò)進(jìn)行測試;
[0057] B :若已超過最大次數(shù)則返回到設(shè)置網(wǎng)絡(luò)的步驟的第一步;
[0058] 解析SIM卡號數(shù)據(jù)的步驟如下:
[0059] 收到獲取手機(jī)號碼的請求及SIM卡號后將SIM卡號數(shù)據(jù)解析成手機(jī)號碼,將其按 照一定格式組成返回結(jié)果發(fā)送給回調(diào)接口。
[0060] 本發(fā)明提出基于Android系統(tǒng)自動獲取手機(jī)號碼的方法及裝置,由客戶端模塊和 解析服務(wù)器模塊兩部分組成。
[0061] 客戶端模塊用于Android智能系統(tǒng)中。通常,該模塊被嵌入到開發(fā)者的終端應(yīng)用 程序中??蛻舳四K提供多個接口供開發(fā)者的應(yīng)用程序調(diào)用,主要包括接口調(diào)用子模塊、檢 測網(wǎng)絡(luò)子模塊、硬件數(shù)據(jù)獲取子模塊、本地數(shù)據(jù)庫子模塊、設(shè)置網(wǎng)絡(luò)子模塊、獲取數(shù)據(jù)子模 塊??蛻舳四K主要為開發(fā)者應(yīng)用程序提供了網(wǎng)絡(luò)檢測、硬件數(shù)據(jù)存取、設(shè)置網(wǎng)絡(luò)、獲取數(shù) 據(jù)以及數(shù)據(jù)存儲等功能。通過以上幾個子模塊內(nèi)部協(xié)同工作以及后臺通訊等工作,為應(yīng)用 程序提供了一種自動獲取到手機(jī)號碼的運(yùn)行機(jī)制。
[0062] 解析服務(wù)器模塊位于遠(yuǎn)程服務(wù)器中。該模塊被設(shè)計成通用運(yùn)行模式,可以獨(dú)立占 用一個服務(wù)器被使用,也可以被嵌入到開發(fā)者的后臺應(yīng)用系統(tǒng)中,這樣便減少了后臺服務(wù) 的嵌入、遷移和部署等工作量。解析服務(wù)器模塊包括獲取數(shù)據(jù)子模塊、解析數(shù)據(jù)子模塊以及 返回數(shù)據(jù)子模塊。通過這三個子模塊的工作,自動接收客戶端模塊發(fā)來的請求,通過數(shù)據(jù)解 析后快速地將所需數(shù)據(jù)返回給客戶端模塊。
[0063] 本發(fā)明的有益效果:
[0064] 現(xiàn)今,很多智能終端軟件仍然使用用戶注冊和登陸機(jī)制,無論對于用戶還是開發(fā) 者來說,都是一個非常繁瑣的過程。而本發(fā)明提出了一種基于Android系統(tǒng)自動獲取手機(jī) 號碼的方法及裝置,為用戶和開發(fā)者都減少了這一系列的繁瑣的操作或者開發(fā)的過程。對 于用戶來說,使用本發(fā)明裝置,在初次使用時就不在需要進(jìn)行新用戶注冊、驗(yàn)證、登陸等操 作,就能夠以唯一的用戶進(jìn)行登陸。對于開發(fā)者來說,將本發(fā)明裝置嵌入到應(yīng)用軟件中,在 保持原有應(yīng)用業(yè)務(wù)和邏輯的同時,能夠減少了設(shè)計和開發(fā)的工作量,提升開發(fā)效率。再者, 本發(fā)明只依賴于網(wǎng)絡(luò),而不會涉及到個人其他隱私的獲取和泄露,對于開發(fā)者來說更加的 放心。
【專利附圖】
【附圖說明】
[0065] 圖1為本發(fā)明系統(tǒng)架構(gòu);
[0066] 圖2為本發(fā)明系統(tǒng)結(jié)構(gòu)與模塊;
[0067] 圖3為本發(fā)明的運(yùn)行機(jī)制;
[0068] 圖4為監(jiān)測網(wǎng)絡(luò)子模塊運(yùn)行機(jī)制;
[0069] 圖5為設(shè)置網(wǎng)絡(luò)子模塊運(yùn)行機(jī)制。
【具體實(shí)施方式】
[0070] 下面將結(jié)合附圖對本發(fā)明中的各個模塊以及各模塊間的運(yùn)行機(jī)制進(jìn)行具體說明。
[0071] 客戶端模塊中接口調(diào)用子模塊為開發(fā)者的應(yīng)用程序提供可以調(diào)用的模塊。接口調(diào) 用子模塊主要負(fù)責(zé)應(yīng)用程序發(fā)來的調(diào)用請求,記錄應(yīng)用程序的回調(diào)接口。接著轉(zhuǎn)入到客戶 端模塊的內(nèi)部運(yùn)行機(jī)制中,觸發(fā)獲取手機(jī)號碼工作。應(yīng)用程序在需要獲取手機(jī)號碼時,只需 要直接調(diào)用接口調(diào)用子模塊所提供的接口,便完成了接口調(diào)用的請求。接著,應(yīng)用程序不需 要再關(guān)心此次調(diào)用,可以去做其他事情,當(dāng)客戶端模塊獲取到手機(jī)號碼后,再發(fā)送給應(yīng)用程 序。這種異步調(diào)用的方式,為應(yīng)用程序提供了一個透明的工作,減少了應(yīng)用開發(fā)程序的工作 量。同時,這種方式釋放了應(yīng)用程序,使其可以去做自己的事情,從而更好地服務(wù)用戶,提供 良好的用戶感知。
[0072] 客戶端模塊中檢測網(wǎng)絡(luò)子模塊主要工作是檢測用戶手機(jī)當(dāng)時所處的網(wǎng)絡(luò)環(huán)境。智 能手機(jī)通常有多個網(wǎng)絡(luò)狀態(tài):Wifi狀態(tài)、互聯(lián)網(wǎng)Net和運(yùn)營商Wap狀態(tài)等。檢測網(wǎng)絡(luò)子模塊 對用戶手機(jī)進(jìn)行檢測,并返回網(wǎng)絡(luò)狀態(tài)。該網(wǎng)絡(luò)狀態(tài)對于本發(fā)明非常重要。因?yàn)楸景l(fā)明中 獲取手機(jī)號碼等工作需要在運(yùn)營商Wap網(wǎng)絡(luò)狀態(tài)下獲取。因此,準(zhǔn)確分析手機(jī)的網(wǎng)絡(luò)狀態(tài) 對于下面獲取手機(jī)號碼等工作非常重要。同時,檢測網(wǎng)絡(luò)子模塊對于應(yīng)用程序來說,也沒有 占用任何網(wǎng)絡(luò)資源和帶寬。
[0073] 客戶端模塊中手機(jī)硬件信息模塊用于存儲客戶端模塊所需要的數(shù)據(jù)信息,主要包 括當(dāng)前手機(jī)的硬件號碼(MEI或者M(jìn)EID)、SIM卡上數(shù)據(jù)(IMSI)、手機(jī)號碼、獲取時間等信 息。手機(jī)硬件號碼頂ΕΙ或者M(jìn)EID是每一臺手機(jī)的唯一標(biāo)識碼。SM卡上的MSI是移動用 戶所分配的唯一號碼。以上數(shù)據(jù)信息中,手機(jī)硬件號碼和SM卡上數(shù)據(jù)在本發(fā)明中是比較 重要的數(shù)據(jù)。
[0074] 客戶端模塊中硬件數(shù)據(jù)獲取子模塊負(fù)責(zé)獲取當(dāng)前手機(jī)的硬件號碼(IMEI或者 MEID)、SM卡上數(shù)據(jù)(MSI)、手機(jī)號碼、獲取時間等信息。手機(jī)硬件號碼MEI或者M(jìn)EID是 每一臺手機(jī)的唯一標(biāo)識碼。在每一次應(yīng)用程序獲取手機(jī)號碼之前,客戶端模塊都會調(diào)用該 模塊對本地數(shù)據(jù)庫中的字段進(jìn)行獲取。如果本地數(shù)據(jù)庫中手機(jī)號碼字段數(shù)據(jù)不存在,再返 回給客戶端模塊相應(yīng)的信息;如果本地數(shù)據(jù)中手機(jī)號碼字段存在,則繼續(xù)將手機(jī)硬件號碼、 SIM卡上數(shù)據(jù)獲取出來,與現(xiàn)實(shí)環(huán)境中的相應(yīng)數(shù)據(jù)進(jìn)行比對,如果一致,說明數(shù)據(jù)庫中手機(jī) 號碼字段有效,如果不一致則說明手機(jī)號碼字段無效,并返回相應(yīng)信息給客戶端模塊。
[0075] 客戶端模塊中設(shè)置網(wǎng)絡(luò)子模塊是比較復(fù)雜的模塊,主要功能是對智能手機(jī)當(dāng)前連 接的網(wǎng)絡(luò)進(jìn)行更改設(shè)置。本發(fā)明中,該模塊可以將網(wǎng)絡(luò)互聯(lián)網(wǎng)Net切換到運(yùn)營商Wap中,也 可以從運(yùn)營商Wap切換到互聯(lián)網(wǎng)Net中。設(shè)置網(wǎng)絡(luò)子模塊在兩種網(wǎng)絡(luò)中切換是一個比較耗 時的過程,尤其是針對各種不同品牌的手機(jī)和不同的運(yùn)營商類型的網(wǎng)絡(luò)。同時,該子模塊 還需要在一定時間間隔內(nèi)對網(wǎng)絡(luò)狀態(tài)進(jìn)行檢測。當(dāng)檢測到網(wǎng)絡(luò)切換成功后,會快速的結(jié)束 設(shè)置的內(nèi)容,返回到客戶端模塊中的其他子模塊中,以減少耗時、加快功能執(zhí)行速度。當(dāng)為 檢測到網(wǎng)絡(luò)切換成功時,該子模塊會在設(shè)定好的一個較為適中的時間段內(nèi)繼續(xù)嘗試設(shè)置網(wǎng) 絡(luò)。如果超過了該模塊最大設(shè)置次數(shù),該模塊便直接返回結(jié)果,以防浪費(fèi)更多的資源和時間 在此模塊中。
[0076] 客戶端中獲取數(shù)據(jù)子模塊負(fù)責(zé)在網(wǎng)絡(luò)狀態(tài)設(shè)置完成后,向解析服務(wù)器發(fā)送相關(guān)數(shù) 據(jù)和請求,并等待解析服務(wù)器返回最終的結(jié)果。
[0077] 解析服務(wù)器模塊中獲取數(shù)據(jù)子模塊負(fù)責(zé)獲取客戶端中發(fā)送過來的相關(guān)數(shù)據(jù)和請 求,并將所有的請求數(shù)據(jù)存放在請求對象中,然后將請求對象發(fā)送給解析服務(wù)器模塊中解 析數(shù)據(jù)子模塊。
[0078] 解析服務(wù)器模塊中解析數(shù)據(jù)子模塊在獲取數(shù)據(jù)子模塊調(diào)用后被喚醒,并獲取到相 應(yīng)的請求對象。接著,解析數(shù)據(jù)子模塊對請求對象進(jìn)行數(shù)據(jù)解析和分析,逐個解析請求對 象中的各個字段和數(shù)據(jù)。然后解析數(shù)據(jù)子模塊從其中查找出與手機(jī)號碼相關(guān)的字段,以及 解析數(shù)據(jù)子模塊主要關(guān)注的一些數(shù)據(jù)字段,例如"HTTP_X_Up_Calling_line_ID"、"http_ x-up-subno"、"x-up-calling-line-id"等,進(jìn)行各個字段的分析,從而獲取到真實(shí)的手機(jī) 號碼。因?yàn)橹悄苁謾C(jī)連接的移動運(yùn)營商網(wǎng)絡(luò)有所不同,所以手機(jī)號碼字段在請求對象中可 能存在于不同的字段中。因此解析數(shù)據(jù)子模塊的主要工作就是能夠剔除運(yùn)營商網(wǎng)絡(luò)類型不 同,終端手機(jī)品牌不同等因素,從其中獲取到真實(shí)的手機(jī)號碼字段。當(dāng)獲取到真實(shí)手機(jī)號碼 后,解析數(shù)據(jù)子模塊將數(shù)據(jù)請求發(fā)送給下一個模塊,即返回數(shù)據(jù)子模塊。
[0079] 解析服務(wù)器模塊中返回數(shù)據(jù)子模塊獲取到手機(jī)號碼后,將字段按照一定格式組成 返回結(jié)果,并發(fā)送給客戶端中的數(shù)據(jù)子模塊,便完成一次數(shù)據(jù)解析工作。
[0080] 下面將結(jié)合附圖1對本發(fā)明中的客戶端模塊的運(yùn)行機(jī)制進(jìn)行具體說明。
[0081] 首先,開發(fā)人員將本發(fā)明的客戶端模塊通過import模式嵌入到其應(yīng)用程序代碼 的項目工程中,編譯成功后便可以調(diào)用本發(fā)明的獲取本地手機(jī)號碼的調(diào)用接口。在調(diào)用本 發(fā)明的接口的同時,應(yīng)用程序需要將其監(jiān)聽函數(shù)對象也傳遞給本發(fā)明的調(diào)用接口。這樣,應(yīng) 用程序不再需要等待結(jié)果,可以去做其他的處理,提高了應(yīng)用程序的執(zhí)行效率。
[0082] 當(dāng)本發(fā)明客戶端模塊中的調(diào)用接口被調(diào)用后,本發(fā)明裝置便開始工作起來。首先, 客戶端模塊將應(yīng)用程序傳遞的監(jiān)聽函數(shù)對象存放起來。接著,獲取數(shù)據(jù)子模塊便啟動工作。 獲取數(shù)據(jù)子模塊先檢測本地應(yīng)用中是否已存在自己的本地數(shù)據(jù)庫。如果沒有本地數(shù)據(jù)庫, 說明應(yīng)用程序是首次調(diào)用,便為其新建本地數(shù)據(jù)庫及數(shù)據(jù)庫中的各個表格。如果檢測到已 經(jīng)存在本地數(shù)據(jù)庫,則打開數(shù)據(jù)庫,從其中的表中獲取到手機(jī)硬件號碼字段和SIM卡、手機(jī) 號碼等字段的數(shù)據(jù)。如果數(shù)據(jù)全為空,則表示先前沒有進(jìn)行字段獲取和存儲工作,發(fā)出重新 獲取手機(jī)號碼指令,調(diào)用檢測網(wǎng)絡(luò)子模塊。如果數(shù)據(jù)不為全空,首先查看手機(jī)號碼字段,如 果該字段為空,同樣發(fā)出重新獲取手機(jī)號碼指令。如果該字段存在,則調(diào)用硬件數(shù)據(jù)獲取子 模塊。從硬件數(shù)據(jù)獲取子模塊返回的手機(jī)硬件號碼數(shù)據(jù)和SIM卡數(shù)據(jù),并將這些字段與數(shù) 據(jù)庫中的相應(yīng)字段進(jìn)行比對,如果數(shù)據(jù)都一致,說明該應(yīng)用已經(jīng)調(diào)用過本發(fā)明并已經(jīng)獲取 到該SIM卡的手機(jī)號碼。這時,便將該手機(jī)號碼直接返回給接口調(diào)用子模塊,使接口調(diào)用子 模塊直接將手機(jī)號碼快速地返回給應(yīng)用程序。如果數(shù)據(jù)不一致,則說明用戶有可能已經(jīng)更 換過SIM卡,則繼續(xù)發(fā)出重新獲取手機(jī)號碼指令,調(diào)用檢測網(wǎng)絡(luò)子模塊。
[0083] 如圖4所示,檢測網(wǎng)絡(luò)子模塊收到指令后,首先檢查手機(jī)網(wǎng)絡(luò)是否已經(jīng)接通,如果 網(wǎng)絡(luò)不可達(dá)則返回相應(yīng)結(jié)果。如果網(wǎng)絡(luò)可達(dá),則繼續(xù)檢測Wifi是否連接,如果Wifi開啟,則 返回相應(yīng)結(jié)果。如果未開啟,則返回數(shù)據(jù)網(wǎng)絡(luò)連接狀態(tài)的結(jié)果。檢測完成后,如果網(wǎng)絡(luò)并未 開啟或者Wifi連接則返回個客戶端模塊相應(yīng)狀態(tài),提示用戶去做相應(yīng)的網(wǎng)絡(luò)狀態(tài)修改。如 果網(wǎng)絡(luò)出于無線網(wǎng)絡(luò)接通狀態(tài)后,檢測網(wǎng)絡(luò)子模塊檢測終端所連接的網(wǎng)絡(luò)類型。如果此時 網(wǎng)絡(luò)為運(yùn)營商Wap連接狀態(tài)下,則直接向獲取數(shù)據(jù)子模塊發(fā)出指令,使其向解析服務(wù)器請 求數(shù)據(jù)。如果網(wǎng)絡(luò)連接為互聯(lián)網(wǎng)Net狀態(tài)下,則向設(shè)置網(wǎng)絡(luò)子模塊發(fā)出切換網(wǎng)絡(luò)至運(yùn)營商 Wap狀態(tài)。
[0084] 如圖5所示,設(shè)置網(wǎng)絡(luò)子模塊被調(diào)用后,首先判斷是否為將網(wǎng)絡(luò)設(shè)置到初始網(wǎng)絡(luò) 狀態(tài)。如果不是,調(diào)用硬件數(shù)據(jù)獲取模塊獲取SIM卡上的相關(guān)數(shù)據(jù),得到數(shù)據(jù)后判斷當(dāng)前手 機(jī)屬于國內(nèi)那一家運(yùn)營商。接著,將該運(yùn)營商Wap網(wǎng)絡(luò)的連接用戶名、密碼、代理地址、代理 端口等數(shù)據(jù)設(shè)置到手機(jī)上。設(shè)置完成后,根據(jù)各運(yùn)營商Wap網(wǎng)絡(luò)地址對運(yùn)營商的Wap網(wǎng)絡(luò) 進(jìn)行測試,如果設(shè)置成功,則將設(shè)置結(jié)果發(fā)送給獲取數(shù)據(jù)子模塊。如果設(shè)置未成功,則根據(jù) 當(dāng)前設(shè)置次數(shù)和系統(tǒng)限制的最大次數(shù),重新進(jìn)行設(shè)置。如果未超過最大設(shè)置,則重新嘗試再 次設(shè)置網(wǎng)絡(luò)。如果已超過最大設(shè)置,則直接將設(shè)置結(jié)果返回。如果判斷為將網(wǎng)絡(luò)設(shè)置為初 始網(wǎng)絡(luò)狀態(tài),則將網(wǎng)絡(luò)設(shè)置為初始網(wǎng)絡(luò)后,返回結(jié)果。
[0085] 如果網(wǎng)絡(luò)設(shè)置成功,獲取數(shù)據(jù)子模塊將向解析服務(wù)器發(fā)送獲取手機(jī)號碼請求,等 待解析服務(wù)器返回結(jié)果。如果在返回結(jié)果的時間間隔內(nèi)解析服務(wù)器沒有響應(yīng),則直接返回 失敗結(jié)果。如果獲取到解析服務(wù)器返回的結(jié)果,便對結(jié)果進(jìn)行解析,如果是手機(jī)號碼則返回 結(jié)果,如果不是手機(jī)號碼,則返回失敗結(jié)果。
[0086] 獲取數(shù)據(jù)子模塊完成后,便重新發(fā)送設(shè)置網(wǎng)絡(luò)為初始網(wǎng)絡(luò)指令到設(shè)置網(wǎng)絡(luò)模塊。 設(shè)置完成后,如果獲取到的手機(jī)號碼為成功的結(jié)果,則將獲得的手機(jī)號碼以及手機(jī)硬件號 碼、SIM卡上數(shù)據(jù)、獲取時間等數(shù)據(jù)存入到本地數(shù)據(jù)庫中。最終將手機(jī)號碼結(jié)果返回給應(yīng)用 程序的回調(diào)函數(shù)中。
[0087] 至此,本發(fā)明的各個模塊及其子模塊的運(yùn)行機(jī)制結(jié)束。
[0088] 本發(fā)明具體技術(shù)方案舉例如下:
[0089] 一種基于Android系統(tǒng)自動獲取手機(jī)號碼的裝置,其特征在于:由客戶端模塊和 解析服務(wù)器兩部分組成。
[0090] 客戶端模塊:
[0091] 所述的客戶端模塊包括接口調(diào)用子模塊、獲取數(shù)據(jù)子模塊、硬件數(shù)據(jù)獲取子模塊、 檢測網(wǎng)絡(luò)子模塊、設(shè)置網(wǎng)絡(luò)子模塊。
[0092] 接口調(diào)用子模塊:
[0093] 接口調(diào)用子模塊與獲取數(shù)據(jù)子模塊連接,用于在收到應(yīng)用程序發(fā)來的調(diào)用請求后 記錄應(yīng)用程序的回調(diào)接口,觸發(fā)獲取數(shù)據(jù)子模塊工作,接收獲取數(shù)據(jù)子模塊獲得的手機(jī)號 碼送入回調(diào)接口;
[0094] 獲取數(shù)據(jù)子模塊:
[0095] 獲取數(shù)據(jù)子模塊還與硬件數(shù)據(jù)獲取子模塊及檢測網(wǎng)絡(luò)子模塊連接,且與解析服務(wù) 器無線連接,用于與解析服務(wù)器通訊并解析其返回的結(jié)果;
[0096] 獲取數(shù)據(jù)子模塊與解析服務(wù)器通訊的過程具體如下:
[0097] 向解析服務(wù)器發(fā)送獲取手機(jī)號碼的請求,
[0098] A :如果在返回結(jié)果的時間間隔內(nèi)解析服務(wù)器沒有響應(yīng),則直接發(fā)送失敗結(jié)果給接 口調(diào)用子模塊,
[0099] B :如果獲取到解析服務(wù)器返回的結(jié)果,便對結(jié)果進(jìn)行解析;
[0100] 獲取數(shù)據(jù)子模塊解析返回結(jié)果的過程具體如下:
[0101] (1)檢測本地數(shù)據(jù)庫是否存在,若不存在新建本地數(shù)據(jù)庫及本地數(shù)據(jù)庫中的表 格;
[0102] (2)若本地數(shù)據(jù)庫存在,則從中獲取手機(jī)硬件號碼字段、SIM卡號字段、手機(jī)號碼 字段的數(shù)據(jù):
[0103] 若數(shù)據(jù)全為空,啟動檢測網(wǎng)絡(luò)子模塊
[0104] 若數(shù)據(jù)不為空,查看手機(jī)號碼字段:
[0105] A :若手機(jī)號碼字段為空,啟動檢測網(wǎng)絡(luò)子模塊;
[0106] B :若手機(jī)號碼字段存在,啟動硬件數(shù)據(jù)獲取子模塊;
[0107] (3)將從硬件數(shù)據(jù)獲取子模塊返回的手機(jī)硬件號碼數(shù)據(jù)和SIM卡號數(shù)據(jù)與本地數(shù) 據(jù)庫中相應(yīng)字段數(shù)據(jù)進(jìn)行比對:
[0108] 若比對結(jié)果一致或無需比對(在首次解析的情況下本地數(shù)據(jù)庫中相應(yīng)字段全為 空,此時無需比對)則將獲得的手機(jī)號碼、手機(jī)硬件號碼、SM卡號及獲取時間存入到本地 數(shù)據(jù)庫相應(yīng)的字段中,并將手機(jī)號碼字段對應(yīng)的手機(jī)號碼數(shù)據(jù)發(fā)送給接口調(diào)用子模塊; [0109] 若比對結(jié)果不一致,則啟動檢測網(wǎng)絡(luò)子模塊;
[0110] 硬件數(shù)據(jù)獲取子模塊:
[0111] 硬件數(shù)據(jù)獲取子模塊與獲取數(shù)據(jù)子模塊、手機(jī)硬件信息模塊、SIM卡及設(shè)置網(wǎng)絡(luò)子 豐吳塊連接:
[0112] 當(dāng)硬件數(shù)據(jù)獲取子模塊被獲取數(shù)據(jù)子模塊啟動時,硬件數(shù)據(jù)獲取子模塊用于從手 機(jī)硬件信息模塊獲取手機(jī)硬件號碼字段和從SM卡上獲取SIM卡號字段數(shù)據(jù),并將其返回 給獲取數(shù)據(jù)子模塊;
[0113] 當(dāng)硬件數(shù)據(jù)獲取子模塊被設(shè)置網(wǎng)絡(luò)子模塊啟動時,硬件數(shù)據(jù)獲取子模塊用于從 SIM卡上獲取SM卡號字段數(shù)據(jù),并將其發(fā)送給設(shè)置網(wǎng)絡(luò)子模塊;
[0114] 檢測網(wǎng)絡(luò)子模塊:
[0115] 檢測網(wǎng)絡(luò)子模塊與獲取數(shù)據(jù)子模塊、手機(jī)網(wǎng)絡(luò)終端、用戶提示模塊、設(shè)置網(wǎng)絡(luò)子模 塊連接,用于在被獲取數(shù)據(jù)子模塊啟動后檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)狀態(tài),根據(jù)其狀態(tài)或發(fā) 送相應(yīng)狀態(tài)給用戶提示模塊,使其給用戶發(fā)送提示信息,或向獲取數(shù)據(jù)子模塊發(fā)出指令,使 其向解析服務(wù)器請求數(shù)據(jù),或啟動設(shè)置網(wǎng)絡(luò)子模塊,具體如下:
[0116] 檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否為無線網(wǎng)絡(luò)接通狀態(tài):
[0117] (1)若不是則將相應(yīng)結(jié)果發(fā)送給用戶提示模塊,用戶提示模塊收到后向用戶發(fā)送 開啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài)的提示信息;
[0118] 具體為:
[0119] 檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否可達(dá):
[0120] A :若網(wǎng)絡(luò)不可達(dá)則將相應(yīng)結(jié)果發(fā)送給用戶提示模塊,用戶提示模塊收到后提示用 戶開啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài);
[0121] B :若網(wǎng)絡(luò)可達(dá)則檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否為Wifi連接狀態(tài),若是則將相應(yīng)結(jié) 果發(fā)送給用戶提示模塊,用戶提示模塊收到后提示用戶開啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài);
[0122] (2)若是則檢測此時手機(jī)網(wǎng)絡(luò)終端所連接的網(wǎng)絡(luò)類型:
[0123] A :若網(wǎng)絡(luò)類型為運(yùn)營商Wap連接狀態(tài),則直接向獲取數(shù)據(jù)子模塊發(fā)出指令,使其 向解析服務(wù)器發(fā)送SIM卡號數(shù)據(jù)及獲取手機(jī)號碼的請求。
[0124] B :若網(wǎng)絡(luò)類型為互聯(lián)網(wǎng)Net狀態(tài),則啟動設(shè)置網(wǎng)絡(luò)子模塊。
[0125] 設(shè)置網(wǎng)絡(luò)子模塊:
[0126] 設(shè)置網(wǎng)絡(luò)子模塊與檢測網(wǎng)絡(luò)子模塊、硬件數(shù)據(jù)獲取子模塊、獲取數(shù)據(jù)子模塊及手 機(jī)網(wǎng)絡(luò)模塊連接,用于將當(dāng)前手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)類型切換至運(yùn)營商Wap連接狀態(tài),具體 步驟如下:
[0127] 第一步,檢測手機(jī)網(wǎng)絡(luò)模塊是否已設(shè)置到了初始網(wǎng)絡(luò)狀態(tài):
[0128] (1)若是則進(jìn)入下一步;
[0129] (2)若不是則啟動硬件數(shù)據(jù)獲取子模塊從SM卡上獲取SM卡號字段數(shù)據(jù),得到 數(shù)據(jù)后判斷當(dāng)前手機(jī)屬于國內(nèi)哪一家運(yùn)營商,接著,將該運(yùn)營商Wap網(wǎng)絡(luò)的連接用戶名、密 碼、代理地址、代理端口數(shù)據(jù)設(shè)置到手機(jī)網(wǎng)絡(luò)模塊上,此刻手機(jī)網(wǎng)絡(luò)模塊即已設(shè)置到了初始 網(wǎng)絡(luò)狀態(tài);
[0130] 第二步,根據(jù)手機(jī)網(wǎng)絡(luò)模塊上的連接用戶名、密碼、代理地址、代理端口的數(shù)據(jù)對 運(yùn)營商的Wap網(wǎng)絡(luò)進(jìn)行測試,
[0131] (1)若測試成功則說明網(wǎng)絡(luò)類型已切換至運(yùn)營商Wap連接狀態(tài);
[0132] (2)若測試不成功則檢測當(dāng)前測試次數(shù)是否大于設(shè)置網(wǎng)絡(luò)子模塊限制的最大次 數(shù),
[0133] A :若未超過最大次數(shù)則重新根據(jù)手機(jī)網(wǎng)絡(luò)模塊上的連接用戶名、密碼、代理地址、 代理端口信息對運(yùn)營商的Wap網(wǎng)絡(luò)進(jìn)行測試;
[0134] B :若已超過最大次數(shù)則返回到第一步;
[0135] 解析服務(wù)器:
[0136] 包括數(shù)據(jù)獲取子模塊、解析數(shù)據(jù)子模塊、返回數(shù)據(jù)子模塊。
[0137] 數(shù)據(jù)獲取子模塊:
[0138] 用于收到客戶端模塊的獲取數(shù)據(jù)子模塊發(fā)來的SIM卡號數(shù)據(jù)及獲取手機(jī)號碼的 請求后啟動解析數(shù)據(jù)子模塊并向其傳送SIM卡號數(shù)據(jù)。
[0139] 解析數(shù)據(jù)子模塊:
[0140] 用于將SM卡號數(shù)據(jù)解析成手機(jī)號碼,將其發(fā)送給返回數(shù)據(jù)子模塊。
[0141] 返回數(shù)據(jù)子模塊:
[0142] 將解析數(shù)據(jù)子模塊發(fā)送來的手機(jī)號碼按照一定格式組成返回結(jié)果發(fā)送給客戶端 模塊的獲取數(shù)據(jù)子模塊。
[0143] 其中,手機(jī)硬件信息模塊、手機(jī)網(wǎng)絡(luò)模塊、手機(jī)網(wǎng)絡(luò)終端都是手機(jī)本身的硬件模 塊。
[0144] 本發(fā)明還涉及一種基于Android系統(tǒng)自動獲取手機(jī)號碼的方法,由以下"接口調(diào) 用的步驟"、"獲取手機(jī)號碼的步驟"、"檢測網(wǎng)絡(luò)的步驟"、"設(shè)置網(wǎng)絡(luò)的步驟"、"解析SM卡號 數(shù)據(jù)的步驟"實(shí)現(xiàn):
[0145] 接口調(diào)用的步驟:在收到應(yīng)用程序發(fā)來的調(diào)用請求后記錄應(yīng)用程序的回調(diào)接口, 進(jìn)入獲取手機(jī)號碼的步驟,接收獲取到手機(jī)號碼后送入回調(diào)接口;
[0146] 獲取手機(jī)號碼的步驟:包括啟動解析SIM卡號數(shù)據(jù)的步驟及在收到手機(jī)號碼后解 析手機(jī)號碼的步驟,
[0147] 啟動解析SIM卡號數(shù)據(jù)的步驟如下:
[0148] 向解析服務(wù)器發(fā)送獲取手機(jī)號碼的請求,
[0149] A :如果在返回結(jié)果的時間間隔內(nèi)解析服務(wù)器沒有響應(yīng),則直接返回失敗結(jié)果,
[0150] B :如果獲取到解析服務(wù)器返回的結(jié)果,便對結(jié)果進(jìn)行解析;
[0151] 所述解析手機(jī)號碼的步驟如下:
[0152] (4)檢測本地數(shù)據(jù)庫是否存在,若不存在新建本地數(shù)據(jù)庫及本地數(shù)據(jù)庫中的表 格;
[0153] (5)若本地數(shù)據(jù)庫存在,則從中獲取手機(jī)硬件號碼字段、SIM卡號字段、手機(jī)號碼 字段的數(shù)據(jù):
[0154] 若數(shù)據(jù)全為空,則進(jìn)入檢測網(wǎng)絡(luò)的步驟,
[0155] 若數(shù)據(jù)不為空,查看手機(jī)號碼字段:
[0156] A :若手機(jī)號碼字段為空,則進(jìn)入檢測網(wǎng)絡(luò)的步驟;
[0157] B :若手機(jī)號碼字段存在,則獲取的手機(jī)硬件號碼數(shù)據(jù)和SIM卡號數(shù)據(jù);
[0158] (6)將手機(jī)硬件號碼數(shù)據(jù)和SIM卡號數(shù)據(jù)與本地數(shù)據(jù)庫中相應(yīng)字段數(shù)據(jù)進(jìn)行比 對:
[0159] 若比對結(jié)果一致或無需比對(在首次解析的情況下本地數(shù)據(jù)庫中相應(yīng)字段全為 空,此時無需比對)則將獲得的手機(jī)號碼、手機(jī)硬件號碼、SIM卡號及獲取時間的數(shù)據(jù)存入 到本地數(shù)據(jù)庫相應(yīng)的字段中,并將手機(jī)號碼字段對應(yīng)的手機(jī)號碼數(shù)據(jù)返回給回調(diào)接口;
[0160] 若比對結(jié)果不一致,則進(jìn)入檢測網(wǎng)絡(luò)的步驟;
[0161] 檢測網(wǎng)絡(luò)的步驟如下:
[0162] 檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否為無線網(wǎng)絡(luò)接通狀態(tài):
[0163] (1)若不是則將相應(yīng)結(jié)果返回給用戶提示模塊,用戶提示模塊收到后向用戶發(fā)送 開啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài)的提示信息;
[0164] 具體為:
[0165] 檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否可達(dá):
[0166] A :若網(wǎng)絡(luò)不可達(dá)則將相應(yīng)結(jié)果返回給用戶提示模塊,用戶提示模塊收到后提示用 戶開啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài);
[0167] B :若網(wǎng)絡(luò)可達(dá)則檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否為Wifi連接狀態(tài),若是則將相應(yīng)結(jié) 果返回給用戶提示模塊,用戶提示模塊收到后提示用戶開啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài);
[0168] (2)若是則檢測此時手機(jī)網(wǎng)絡(luò)終端所連接的網(wǎng)絡(luò)類型:
[0169] A :若網(wǎng)絡(luò)類型為運(yùn)營商Wap連接狀態(tài),則進(jìn)入獲取手機(jī)號碼的步驟;
[0170] B :若網(wǎng)絡(luò)類型為互聯(lián)網(wǎng)Net狀態(tài),則進(jìn)入設(shè)置網(wǎng)絡(luò)的步驟;
[0171] 設(shè)置網(wǎng)絡(luò)的步驟如下:
[0172] 第一步,檢測手機(jī)是否已設(shè)置到了初始網(wǎng)絡(luò)狀態(tài):
[0173] (1)若是則進(jìn)入下一步;
[0174] (2)若不是則從SM卡上獲取SM卡號字段數(shù)據(jù),得到數(shù)據(jù)后判斷當(dāng)前手機(jī)屬于國 內(nèi)哪一家運(yùn)營商,接著,將該運(yùn)營商Wap網(wǎng)絡(luò)的連接用戶名、密碼、代理地址、代理端口數(shù)據(jù) 設(shè)置到手機(jī)網(wǎng)絡(luò)模塊上,此刻手機(jī)網(wǎng)絡(luò)模塊即已設(shè)置到了初始網(wǎng)絡(luò)狀態(tài);
[0175] 第二步,根據(jù)手機(jī)上的連接用戶名、密碼、代理地址、代理端口的數(shù)據(jù)對運(yùn)營商的 Wap網(wǎng)絡(luò)進(jìn)行測試,
[0176] (1)若測試成功則說明網(wǎng)絡(luò)類型已切換至運(yùn)營商Wap連接狀態(tài);
[0177] (2)若測試不成功則檢測當(dāng)前測試次數(shù)是否大于系統(tǒng)限制的最大次數(shù),
[0178] A :若未超過最大次數(shù)則重新根據(jù)手機(jī)上的連接用戶名、密碼、代理地址、代理端口 信息對運(yùn)營商的Wap網(wǎng)絡(luò)進(jìn)行測試;
[0179] B :若已超過最大次數(shù)則返回到設(shè)置網(wǎng)絡(luò)的步驟的第一步;
[0180] 解析SIM卡號數(shù)據(jù)的步驟如下:
[0181] 收到獲取手機(jī)號碼的請求及SIM卡號后將SIM卡號數(shù)據(jù)解析成手機(jī)號碼,將其按 照一定格式組成返回結(jié)果發(fā)送給回調(diào)接口。
[0182] 本發(fā)明包括客戶端模塊和解析服務(wù)器兩個部分,都有各自的實(shí)施方式,系統(tǒng)結(jié)構(gòu) 如圖1所示。以下便是各部分的實(shí)施方式的舉例說明。
[0183] 客戶端模塊是運(yùn)行在開發(fā)者應(yīng)用程序的內(nèi)部,需要開發(fā)者在開發(fā)應(yīng)用程序時將客 戶端模塊嵌入到期應(yīng)用程序內(nèi)部。在基于Android的應(yīng)用程序的開發(fā)中,本發(fā)明的客戶端 模塊是以java JAR文件的形式存在。開發(fā)者需要在Android的應(yīng)用程序中,首先import 本發(fā)明的JAR包。第二,由于本發(fā)明客戶端需要對智能手機(jī)的網(wǎng)絡(luò)進(jìn)行檢測和修改,以及需 要數(shù)據(jù)庫的操作、文件的讀寫、互聯(lián)網(wǎng)的訪問等操作,所以開發(fā)者需要在其開發(fā)的應(yīng)用程序 中添加以下的用戶權(quán)限:
[0184] 〈uses-permission
[0185] android:name = "android, permission. WRITE-EXTERNAL-STORAGE" />
[0186] 〈uses-permission
[0187] android:name = ''android, permission. ACCESS-NETWORK-STATE" />
[0188] 〈uses-permission android:name = ^android, permission. WRITE_APN_ SETTINGS"/〉
[0189] 〈uses-permission android:name = "android, permission. INTERNET" />
[0190] 第三,開發(fā)者需要在其應(yīng)用程序中調(diào)用本發(fā)明的GetPhoneNumber靜態(tài)方法,將 實(shí)現(xiàn)自己的OnGetPhoneNumberListener類的實(shí)例傳遞給該靜態(tài)方法。并且,在開發(fā)者 實(shí)現(xiàn) OnGetPhoneNumberListener 類的同時,需要實(shí)現(xiàn)其中的 onGetPhoneNumber (String phoneNumber)方法的操作。
[0191] 解析服務(wù)器實(shí)現(xiàn)方法可以有兩種方式:
[0192] 第一種是新建立一個J2EE的Web項目工程,將本發(fā)明提供的解析服務(wù)器段的JAR 文件引入到其中,并在其WebRoot\WEB-INF文件夾下的web. xml文件中添加以下的代碼。
[0193] <fi 11 er-mapp ing>
[0194] <filter-name>GetPhoneNumberServlet</filter-name>
[0195] <url-pattern>/ GetPhoneNumber Servlet</url-pattern>
[0196] 〈/filter-mapping〉
[0197] 〈servlet〉
[0198] <servlet-name> GetPhoneNumberServlet </servlet-name>
[0199] <servlet-class>com. kongxr. servlet. GetPhoneNumberServlet
[0200] 〈/servlet-class〉
[0201] </servlet)
[0202] 第二種方式是將本發(fā)明的解析服務(wù)器直接嵌入到自己的J2EE的Web應(yīng)用中。如 果開發(fā)者自己已經(jīng)有J2EE的Web服務(wù)端項目時,開發(fā)者便可以使用第二種方式。開發(fā)者需 要將本發(fā)明提供的解析服務(wù)器段的JAR文件引入到其中,并在其WebR 〇〇t\WEB-INF文件夾 下的web. xml文件中添加以上同樣的代碼。
[0203] 通過以上對于客戶端模塊和解析服務(wù)器模塊的簡單引入和使用,便能夠快速的將 本發(fā)明裝置快速的嵌入到開發(fā)者的項目中,使開發(fā)者能夠快速的適配本發(fā)明裝置。
【權(quán)利要求】
1. 一種基于Android系統(tǒng)自動獲取手機(jī)號碼的裝置,其特征在于:由客戶端模塊和解 析服務(wù)器兩部分組成, 所述的客戶端模塊包括接口調(diào)用子模塊、獲取數(shù)據(jù)子模塊、硬件數(shù)據(jù)獲取子模塊、檢測 網(wǎng)絡(luò)子模塊、設(shè)置網(wǎng)絡(luò)子模塊; 所述的接口調(diào)用子模塊與獲取數(shù)據(jù)子模塊連接,用于在收到應(yīng)用程序發(fā)來的調(diào)用請求 后記錄應(yīng)用程序的回調(diào)接口,觸發(fā)獲取數(shù)據(jù)子模塊工作,接收獲取數(shù)據(jù)子模塊獲得的手機(jī) 號碼送入回調(diào)接口; 所述的獲取數(shù)據(jù)子模塊還與硬件數(shù)據(jù)獲取子模塊及檢測網(wǎng)絡(luò)子模塊連接,且與解析服 務(wù)器無線連接,用于與解析服務(wù)器通訊并解析其返回的結(jié)果; 所述的硬件數(shù)據(jù)獲取子模塊與獲取數(shù)據(jù)子模塊、手機(jī)硬件信息模塊、SIM卡及設(shè)置網(wǎng)絡(luò) 子豐吳塊連接: 當(dāng)硬件數(shù)據(jù)獲取子模塊被獲取數(shù)據(jù)子模塊啟動時,硬件數(shù)據(jù)獲取子模塊用于從手機(jī)硬 件信息模塊獲取手機(jī)硬件號碼字段和從SM卡上獲取SIM卡號字段數(shù)據(jù),并將其發(fā)送給獲 取數(shù)據(jù)子模塊; 當(dāng)硬件數(shù)據(jù)獲取子模塊被設(shè)置網(wǎng)絡(luò)子模塊啟動時,硬件數(shù)據(jù)獲取子模塊用于從SIM卡 上獲取SM卡號字段數(shù)據(jù),并將其發(fā)送給設(shè)置網(wǎng)絡(luò)子模塊; 所述的檢測網(wǎng)絡(luò)子模塊與獲取數(shù)據(jù)子模塊、手機(jī)網(wǎng)絡(luò)終端、用戶提示模塊、設(shè)置網(wǎng)絡(luò)子 模塊連接,用于在被獲取數(shù)據(jù)子模塊啟動后檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)狀態(tài),根據(jù)其狀態(tài)或 發(fā)送相應(yīng)狀態(tài)給用戶提示模塊,使其給用戶發(fā)送提示信息,或向獲取數(shù)據(jù)子模塊發(fā)出指令, 使其向解析服務(wù)器請求數(shù)據(jù),或啟動設(shè)置網(wǎng)絡(luò)子模塊; 所述的設(shè)置網(wǎng)絡(luò)子模塊與檢測網(wǎng)絡(luò)子模塊、硬件數(shù)據(jù)獲取子模塊、獲取數(shù)據(jù)子模塊及 手機(jī)網(wǎng)絡(luò)模塊連接,用于將當(dāng)前手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)類型切換至運(yùn)營商Wap連接狀態(tài); 所述的解析服務(wù)器用于收到客戶端模塊的獲取數(shù)據(jù)子模塊發(fā)來的SIM卡號數(shù)據(jù)及獲 取手機(jī)號碼的請求后將SIM卡號數(shù)據(jù)解析成手機(jī)號碼,將手機(jī)號碼按照一定格式組成返回 結(jié)果發(fā)送給客戶端模塊的獲取數(shù)據(jù)子模塊。
2. 根據(jù)權(quán)利要求1所述的一種基于Android系統(tǒng)自動獲取手機(jī)號碼的裝置,其特征在 于: 所述的獲取數(shù)據(jù)子模塊與解析服務(wù)器通訊的過程具體如下: 向解析服務(wù)器發(fā)送獲取手機(jī)號碼的請求, A :如果在返回結(jié)果的時間間隔內(nèi)解析服務(wù)器沒有響應(yīng),則直接發(fā)送失敗結(jié)果給接口調(diào) 用子模塊, B :如果獲取到解析服務(wù)器返回的結(jié)果,便對結(jié)果進(jìn)行解析。
3. 根據(jù)權(quán)利要求1所述的一種基于Android系統(tǒng)自動獲取手機(jī)號碼的裝置,其特征在 于: 所述的獲取數(shù)據(jù)子模塊解析解析服務(wù)器返回的結(jié)果,其過程具體如下: (1) 檢測本地數(shù)據(jù)庫是否存在,若不存在新建本地數(shù)據(jù)庫及本地數(shù)據(jù)庫中的表格; (2) 若本地數(shù)據(jù)庫存在,則從中獲取手機(jī)硬件號碼字段、SIM卡號字段、手機(jī)號碼字段 的數(shù)據(jù): 若數(shù)據(jù)全為空,啟動檢測網(wǎng)絡(luò)子模塊; 若數(shù)據(jù)不為空,查看手機(jī)號碼字段: A :若手機(jī)號碼字段為空,啟動檢測網(wǎng)絡(luò)子模塊; B :若手機(jī)號碼字段存在,啟動硬件數(shù)據(jù)獲取子模塊; (3)將從硬件數(shù)據(jù)獲取子模塊返回的手機(jī)硬件號碼數(shù)據(jù)和SIM卡號數(shù)據(jù)與本地數(shù)據(jù)庫 中相應(yīng)字段數(shù)據(jù)進(jìn)行比對: 若比對結(jié)果一致或無需比對則將獲得的手機(jī)號碼、手機(jī)硬件號碼、SIM卡號及獲取時間 存入到本地數(shù)據(jù)庫相應(yīng)的字段中,并將手機(jī)號碼字段對應(yīng)的手機(jī)號碼數(shù)據(jù)發(fā)送給接口調(diào)用 子模塊; 若比對結(jié)果不一致,則啟動檢測網(wǎng)絡(luò)子模塊。
4. 根據(jù)權(quán)利要求1所述的一種基于Android系統(tǒng)自動獲取手機(jī)號碼的裝置,其特征在 于: 所述的檢測網(wǎng)絡(luò)子模塊用于在被獲取數(shù)據(jù)子模塊啟動后檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)狀 態(tài),根據(jù)其狀態(tài)或發(fā)送相應(yīng)狀態(tài)給用戶提示模塊,使其給用戶發(fā)送提示信息,或向獲取數(shù)據(jù) 子模塊發(fā)出指令,使其向解析服務(wù)器請求數(shù)據(jù),或啟動設(shè)置網(wǎng)絡(luò)子模塊,具體如下: 檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否為無線網(wǎng)絡(luò)接通狀態(tài): (1) 若不是則將相應(yīng)結(jié)果發(fā)送給用戶提示模塊,用戶提示模塊收到后向用戶發(fā)送開啟 網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài)的提示信息; 具體為: 檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否可達(dá): A :若網(wǎng)絡(luò)不可達(dá)則將相應(yīng)結(jié)果發(fā)送給用戶提示模塊,用戶提示模塊收到后提示用戶開 啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài); B :若網(wǎng)絡(luò)可達(dá)則檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否為Wifi連接狀態(tài),若是則將相應(yīng)結(jié)果發(fā) 送給用戶提示模塊,用戶提示模塊收到后提示用戶開啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài); (2) 若是則檢測此時手機(jī)網(wǎng)絡(luò)終端所連接的網(wǎng)絡(luò)類型: A :若網(wǎng)絡(luò)類型為運(yùn)營商Wap連接狀態(tài),則直接向獲取數(shù)據(jù)子模塊發(fā)出指令,使其向解 析服務(wù)器發(fā)送SIM卡號數(shù)據(jù)及獲取手機(jī)號碼的請求; B :若網(wǎng)絡(luò)類型為互聯(lián)網(wǎng)Net狀態(tài),則啟動設(shè)置網(wǎng)絡(luò)子模塊。
5. 根據(jù)權(quán)利要求1所述的一種基于Android系統(tǒng)自動獲取手機(jī)號碼的裝置,其特征在 于: 所述的設(shè)置網(wǎng)絡(luò)子模塊用于將當(dāng)前手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)類型切換至運(yùn)營商Wap連接 狀態(tài),具體步驟如下: 第一步,檢測手機(jī)網(wǎng)絡(luò)模塊是否已設(shè)置到了初始網(wǎng)絡(luò)狀態(tài): (1) 若是則進(jìn)入下一步; (2) 若不是則啟動硬件數(shù)據(jù)獲取子模塊從SIM卡上獲取SIM卡號字段數(shù)據(jù),得到數(shù)據(jù)后 判斷當(dāng)前手機(jī)屬于國內(nèi)哪一家運(yùn)營商,接著,將該運(yùn)營商Wap網(wǎng)絡(luò)的連接用戶名、密碼、代 理地址、代理端口數(shù)據(jù)設(shè)置到手機(jī)網(wǎng)絡(luò)模塊上,此刻手機(jī)網(wǎng)絡(luò)模塊即已設(shè)置到了初始網(wǎng)絡(luò) 狀態(tài); 第二步,根據(jù)手機(jī)網(wǎng)絡(luò)模塊上的連接用戶名、密碼、代理地址、代理端口的數(shù)據(jù)對運(yùn)營 商的Wap網(wǎng)絡(luò)進(jìn)行測試, (1) 若測試成功則說明網(wǎng)絡(luò)類型已切換至運(yùn)營商Wap連接狀態(tài); (2) 若測試不成功則檢測當(dāng)前測試次數(shù)是否大于設(shè)置網(wǎng)絡(luò)子模塊限制的最大次數(shù), A :若未超過最大次數(shù)則重新根據(jù)手機(jī)網(wǎng)絡(luò)模塊上的連接用戶名、密碼、代理地址、代理 端口信息對運(yùn)營商的Wap網(wǎng)絡(luò)進(jìn)行測試; B :若已超過最大次數(shù)則返回到第一步。
6. 根據(jù)權(quán)利要求1-5之一所述的一種基于Android系統(tǒng)自動獲取手機(jī)號碼的裝置,其 特征在于: 所述的解析服務(wù)器包括數(shù)據(jù)獲取子模塊、解析數(shù)據(jù)子模塊、返回數(shù)據(jù)子模塊; 所述的數(shù)據(jù)獲取子模塊用于收到客戶端模塊的獲取數(shù)據(jù)子模塊發(fā)來的SIM卡號數(shù)據(jù) 及獲取手機(jī)號碼的請求后啟動解析數(shù)據(jù)子模塊并向其傳送SIM卡號數(shù)據(jù); 所述的解析數(shù)據(jù)子模塊用于將SIM卡號數(shù)據(jù)解析成手機(jī)號碼,將其發(fā)送給返回數(shù)據(jù)子 模塊; 所述的返回數(shù)據(jù)子模塊將解析數(shù)據(jù)子模塊發(fā)送來的手機(jī)號碼按照一定格式組成返回 結(jié)果發(fā)送給客戶端模塊的獲取數(shù)據(jù)子模塊。
7. -種基于Android系統(tǒng)自動獲取手機(jī)號碼的方法,其特征在于:由以下接口調(diào)用的 步驟、獲取手機(jī)號碼的步驟、檢測網(wǎng)絡(luò)的步驟、設(shè)置網(wǎng)絡(luò)的步驟、解析SIM卡號數(shù)據(jù)的步驟 實(shí)現(xiàn): 接口調(diào)用的步驟:在收到應(yīng)用程序發(fā)來的調(diào)用請求后記錄應(yīng)用程序的回調(diào)接口,進(jìn)入 獲取手機(jī)號碼的步驟,接收獲取到手機(jī)號碼后送入回調(diào)接口; 獲取手機(jī)號碼的步驟:包括啟動解析SIM卡號數(shù)據(jù)的步驟及在收到手機(jī)號碼后解析手 機(jī)號碼的步驟, 啟動解析SIM卡號數(shù)據(jù)的步驟如下: 向解析服務(wù)器發(fā)送獲取手機(jī)號碼的請求, A :如果在返回結(jié)果的時間間隔內(nèi)解析服務(wù)器沒有響應(yīng),則直接返回失敗結(jié)果, B :如果獲取到解析服務(wù)器返回的結(jié)果,便對結(jié)果進(jìn)行解析; 所述解析手機(jī)號碼的步驟如下: (4) 檢測本地數(shù)據(jù)庫是否存在,若不存在新建本地數(shù)據(jù)庫及本地數(shù)據(jù)庫中的表格; (5) 若本地數(shù)據(jù)庫存在,則從中獲取手機(jī)硬件號碼字段、SIM卡號字段、手機(jī)號碼字段 的數(shù)據(jù): 若數(shù)據(jù)全為空,則進(jìn)入檢測網(wǎng)絡(luò)的步驟, 若數(shù)據(jù)不為空,查看手機(jī)號碼字段: A :若手機(jī)號碼字段為空,則進(jìn)入檢測網(wǎng)絡(luò)的步驟; B :若手機(jī)號碼字段存在,則獲取的手機(jī)硬件號碼數(shù)據(jù)和SIM卡號數(shù)據(jù); (6) 將手機(jī)硬件號碼數(shù)據(jù)和SIM卡號數(shù)據(jù)與本地數(shù)據(jù)庫中相應(yīng)字段數(shù)據(jù)進(jìn)行比對: 若比對結(jié)果一致或無需比對則將獲得的手機(jī)號碼、手機(jī)硬件號碼、SIM卡號及獲取時間 的數(shù)據(jù)存入到本地數(shù)據(jù)庫相應(yīng)的字段中,并將手機(jī)號碼字段對應(yīng)的手機(jī)號碼數(shù)據(jù)返回給回 調(diào)接口; 若比對結(jié)果不一致,則進(jìn)入檢測網(wǎng)絡(luò)的步驟; 檢測網(wǎng)絡(luò)的步驟如下: 檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否為無線網(wǎng)絡(luò)接通狀態(tài): (1) 若不是則將相應(yīng)結(jié)果返回給用戶提示模塊,用戶提示模塊收到后向用戶發(fā)送開啟 網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài)的提示信息; 具體為: 檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否可達(dá): A :若網(wǎng)絡(luò)不可達(dá)則將相應(yīng)結(jié)果返回給用戶提示模塊,用戶提示模塊收到后提示用戶開 啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài); B :若網(wǎng)絡(luò)可達(dá)則檢測手機(jī)網(wǎng)絡(luò)終端的網(wǎng)絡(luò)是否為Wifi連接狀態(tài),若是則將相應(yīng)結(jié)果返 回給用戶提示模塊,用戶提示模塊收到后提示用戶開啟網(wǎng)絡(luò)至無線網(wǎng)絡(luò)狀態(tài); (2) 若是則檢測此時手機(jī)網(wǎng)絡(luò)終端所連接的網(wǎng)絡(luò)類型: A :若網(wǎng)絡(luò)類型為運(yùn)營商Wap連接狀態(tài),則進(jìn)入獲取手機(jī)號碼的步驟; B :若網(wǎng)絡(luò)類型為互聯(lián)網(wǎng)Net狀態(tài),則進(jìn)入設(shè)置網(wǎng)絡(luò)的步驟; 設(shè)置網(wǎng)絡(luò)的步驟如下: 第一步,檢測手機(jī)是否已設(shè)置到了初始網(wǎng)絡(luò)狀態(tài): (1) 若是則進(jìn)入下一步; (2) 若不是則從SIM卡上獲取SIM卡號字段數(shù)據(jù),得到數(shù)據(jù)后判斷當(dāng)前手機(jī)屬于國內(nèi)哪 一家運(yùn)營商,接著,將該運(yùn)營商Wap網(wǎng)絡(luò)的連接用戶名、密碼、代理地址、代理端口數(shù)據(jù)設(shè)置 到手機(jī)網(wǎng)絡(luò)模塊上,此刻手機(jī)網(wǎng)絡(luò)模塊即已設(shè)置到了初始網(wǎng)絡(luò)狀態(tài); 第二步,根據(jù)手機(jī)上的連接用戶名、密碼、代理地址、代理端口的數(shù)據(jù)對運(yùn)營商的Wap 網(wǎng)絡(luò)進(jìn)行測試, (1) 若測試成功則說明網(wǎng)絡(luò)類型已切換至運(yùn)營商Wap連接狀態(tài); (2) 若測試不成功則檢測當(dāng)前測試次數(shù)是否大于系統(tǒng)限制的最大次數(shù), A :若未超過最大次數(shù)則重新根據(jù)手機(jī)上的連接用戶名、密碼、代理地址、代理端口信息 對運(yùn)營商的Wap網(wǎng)絡(luò)進(jìn)行測試; B :若已超過最大次數(shù)則返回到設(shè)置網(wǎng)絡(luò)的步驟的第一步; 解析SIM卡號數(shù)據(jù)的步驟如下: 收到獲取手機(jī)號碼的請求及SIM卡號后將SIM卡號數(shù)據(jù)解析成手機(jī)號碼,將其按照一 定格式組成返回結(jié)果發(fā)送給回調(diào)接口。
【文檔編號】H04L29/12GK104104743SQ201410224844
【公開日】2014年10月15日 申請日期:2014年5月26日 優(yōu)先權(quán)日:2014年5月26日
【發(fā)明者】孔祥瑞, 胡笳 申請人:江蘇鴻信系統(tǒng)集成有限公司