本發(fā)明涉及信息交互技術(shù)領(lǐng)域,具體涉及一種終端及其基于二維碼的信息交互方法、存儲(chǔ)裝置。
背景技術(shù):
交際社會(huì),聯(lián)系人信息的交互是一種自我宣傳及結(jié)識(shí)他人的一種重要方式,當(dāng)前利用手機(jī)等電子終端進(jìn)行聯(lián)系人信息的交互已逐漸代替紙質(zhì)名片,成為社交圈內(nèi)的一股潮流。現(xiàn)有手機(jī)一般以文本形式和二維碼方式進(jìn)行聯(lián)系人信息的交互。但是,文本形式無法支持聯(lián)系人信息的快捷分享,而二維碼方式不僅需要對(duì)方手動(dòng)操作終端對(duì)二維碼進(jìn)行掃描和聯(lián)系人信息的添加,而且受到地理位置的限制。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供一種終端及其基于二維碼的信息交互方法、存儲(chǔ)裝置,能夠?qū)崿F(xiàn)聯(lián)系人信息的快捷分享,減少用戶操作,且不受地理位置限制。
本發(fā)明一實(shí)施例的基于二維碼的信息交互方法,包括:
第一終端調(diào)取聯(lián)系人信息,并生成與聯(lián)系人信息對(duì)應(yīng)的二維碼;
第一終端篩選出能夠傳輸位圖文件的應(yīng)用程序,并通過應(yīng)用程序?qū)⑺龆S碼發(fā)送給第二終端;
第二終端接收二維碼,并將二維碼保存于系統(tǒng)圖片庫(kù);
所述第二終端監(jiān)測(cè)系統(tǒng)圖片庫(kù)是否有新增的圖片;
當(dāng)監(jiān)測(cè)到系統(tǒng)圖片庫(kù)有新增的圖片時(shí),第二終端檢測(cè)新增的圖片是否包含二維碼;
若是,則第二終端掃描二維碼以獲取相應(yīng)的聯(lián)系人信息。
本發(fā)明一實(shí)施例的基于二維碼進(jìn)行信息交互的終端,所述終端包括處理器以及與處理器連接的存儲(chǔ)器和收發(fā)器,其中,
收發(fā)器用于接收二維碼,并將所述二維碼保存于系統(tǒng)圖片庫(kù);
處理器用于監(jiān)測(cè)系統(tǒng)圖片庫(kù)是否有新增的圖片,并在監(jiān)測(cè)到系統(tǒng)圖片庫(kù)有新增的圖片時(shí)檢測(cè)新增的圖片是否包含二維碼;若是,則處理器用于掃描二維碼以獲取相應(yīng)的聯(lián)系人信息;
存儲(chǔ)器用于存儲(chǔ)聯(lián)系人信息。
本發(fā)明一實(shí)施例的存儲(chǔ)裝置,存儲(chǔ)有程序數(shù)據(jù),所述程序數(shù)據(jù)能夠被執(zhí)行以實(shí)現(xiàn)上述基于二維碼的信息交互方法。
有益效果:本發(fā)明通過二維碼進(jìn)行聯(lián)系人信息的發(fā)送與接收,能夠?qū)崿F(xiàn)聯(lián)系人信息的快捷分享,通過傳輸位圖文件的應(yīng)用程序發(fā)送二維碼的方式,使得對(duì)方無需當(dāng)面或近距離掃描二維碼,因此能夠減少用戶操作,且不受地理位置限制。
附圖說明
圖1是本發(fā)明第一實(shí)施例的基于二維碼的信息交互方法的流程示意圖;
圖2是本發(fā)明一實(shí)施例的通過應(yīng)用程序分享二維碼的方法的流程示意圖;
圖3是本發(fā)明一實(shí)施例的監(jiān)測(cè)系統(tǒng)圖片庫(kù)是否有新增的圖片的方法的流程示意圖;
圖4是本發(fā)明一實(shí)施例的檢測(cè)新增的圖片是否包含二維碼的方法的流程示意圖;
圖5是本發(fā)明第二實(shí)施例的基于二維碼的信息交互方法的流程示意圖;
圖6是本發(fā)明另一實(shí)施例的檢測(cè)新增的圖片是否包含二維碼的方法的流程示意圖;
圖7是本發(fā)明第三實(shí)施例的基于二維碼的信息交互方法的流程示意圖;
圖8是本發(fā)明一實(shí)施例的終端的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明所提供的各個(gè)示例性的實(shí)施例的技術(shù)方案進(jìn)行清楚、完整地描述。在不沖突的情況下,下述各個(gè)實(shí)施例以及實(shí)施例中的特征可以相互組合。
請(qǐng)參閱圖1,為本發(fā)明一實(shí)施例的基于二維碼的信息交互方法。所述信息交互方法可以包括步驟s11~s16。
s11:第一終端調(diào)取聯(lián)系人信息,并生成與聯(lián)系人信息對(duì)應(yīng)的二維碼。
第一終端可以采用vcard(personaldatainterchange,個(gè)人數(shù)據(jù)交換)格式調(diào)取聯(lián)系人信息,所述聯(lián)系人信息包括但不限于通訊錄中聯(lián)系人的手機(jī)號(hào)碼、地址、頭像等信息。vcard格式字段通過標(biāo)識(shí)符記錄聯(lián)系人信息,即不同取值的標(biāo)識(shí)符與不同的聯(lián)系人信息具有映射關(guān)系。由于vcard格式字段的標(biāo)識(shí)符的取值有限,為了實(shí)現(xiàn)更多聯(lián)系人信息的添加,本實(shí)施例可以使用枚舉類型來記錄vcard格式字段的標(biāo)識(shí)符與聯(lián)系人信息的映射關(guān)系,即,本實(shí)施例將vcard格式字段的標(biāo)識(shí)符所有可能的取值一一列舉出來,并與聯(lián)系人信息建立映射關(guān)系。
第一終端可以根據(jù)用戶指令選擇某一指定聯(lián)系人的部分信息并生成二維碼。具體地,在接收到用戶指令后,第一終端的系統(tǒng)可以通過contentprovider(內(nèi)容提供)組件獲取vcard格式字段中的指定字段。當(dāng)然,本發(fā)明的其他實(shí)施例也可以在未接收到用戶指令時(shí)默認(rèn)調(diào)取某一指定聯(lián)系人的全部信息并生成對(duì)應(yīng)的二維碼。
本實(shí)施例可以使用zxing(開源項(xiàng)目)源碼來對(duì)vcard格式字段進(jìn)行編碼,且在編碼后返回一個(gè)bitmatrix(位矩陣)對(duì)象,最后利用這個(gè)bitmatrix對(duì)象繪制二維碼。所繪制的二維碼包括尋像圖形、定位圖形、數(shù)據(jù)編碼內(nèi)容和糾錯(cuò)信息碼。尋像圖形和定位圖形表現(xiàn)為二維碼的三個(gè)“回”字形區(qū)域,用于確定二維碼的位置,并提供坐標(biāo)參考。數(shù)據(jù)編碼內(nèi)容即vcard格式字段按照某種預(yù)定編碼算法轉(zhuǎn)換成的條碼。糾錯(cuò)信息碼用于指定二維碼的容錯(cuò)率,以保證數(shù)據(jù)的容錯(cuò)性,糾錯(cuò)信息碼可以為rs碼(reedsolomon,里所碼)。二維碼的容錯(cuò)率越高,其包含的糾錯(cuò)信息碼越多,二維碼的可修復(fù)能力越高。
進(jìn)一步,本實(shí)施例可以采用addlogo(加貼標(biāo)識(shí))方法在二維碼中間添加聯(lián)系人頭像。具體地,第一終端的系統(tǒng)采用canvas(覆蓋)算法將二維碼和聯(lián)系人頭像這兩張圖片按照一定比例進(jìn)行合成繪制。在合成繪制過程中,由于原二維碼(合成繪制之前的二維碼)的中間部分的數(shù)據(jù)被覆蓋而丟失,因此需要原二維碼的容錯(cuò)率較高。
s12:第一終端篩選出能夠傳輸位圖文件的應(yīng)用程序,并通過應(yīng)用程序?qū)⑺龆S碼發(fā)送給第二終端。
二維碼實(shí)質(zhì)上就是位圖文件(bitmap),因此分享一張二維碼與分享一張圖片的方式相同?;诖耍?qǐng)參閱圖2,首先,第一終端的系統(tǒng)設(shè)置intent(需求)組件的action(動(dòng)作)為發(fā)送,即intent.action_send,并且intent組件的type(類型)為“image/jpeg”或“image/*”。然后,通過packagemanager(程序包管理)組件的getpackageinfo(獲取程序包信息)函數(shù)即可獲取第一終端安裝的所有具有“image/jpeg”或“image/*”的應(yīng)用程序的信息。如果intent組件指定需要使用特定應(yīng)用程序進(jìn)行二維碼的分享,則第一終端可以通過packagemanager組件獲取resultinfo(結(jié)果信息)的list(列表),通過比較resultinfo的packagename(軟件包名)與目標(biāo)應(yīng)用程序的packagename來確定目標(biāo)應(yīng)用程序。最后,系統(tǒng)將目標(biāo)應(yīng)用程序的component(組件)作為的intent組件的component,并調(diào)用startactivity(執(zhí)行動(dòng)作)函數(shù)將二維碼發(fā)送出去,以此實(shí)現(xiàn)通過該目標(biāo)應(yīng)用程序分享二維碼。
s13:第二終端接收二維碼,并將二維碼保存于系統(tǒng)圖片庫(kù)。
在第二終端成功獲取到第一終端傳輸過來的二維碼后,第二終端的系統(tǒng)圖片庫(kù)便發(fā)生變化,新的二維碼添加入系統(tǒng)圖片庫(kù)。
s14:第二終端監(jiān)測(cè)系統(tǒng)圖片庫(kù)是否有新增的圖片。
以android系統(tǒng)為例,第二終端的系統(tǒng)可使用contentobserver(內(nèi)容觀察)組件監(jiān)控系統(tǒng)圖片庫(kù)中的數(shù)據(jù)變化。當(dāng)系統(tǒng)圖片庫(kù)中的數(shù)據(jù)變化時(shí),contentobserver組件可以通過onchange()函數(shù)(待改變函數(shù))返回變化前和變化后的數(shù)據(jù),以此獲取到新增的圖片。
為了增加對(duì)系統(tǒng)圖片庫(kù)的監(jiān)控時(shí)長(zhǎng),即盡可能在宏觀上一直保持監(jiān)測(cè)狀態(tài),本實(shí)施例可以采用圖3所示三種方式中的一種執(zhí)行監(jiān)測(cè)。
一是,提高監(jiān)測(cè)系統(tǒng)圖片庫(kù)的后臺(tái)進(jìn)程的優(yōu)先級(jí),使得后臺(tái)進(jìn)程變?yōu)榉?wù)進(jìn)程(intentservice),并通過服務(wù)進(jìn)程監(jiān)測(cè)系統(tǒng)圖片庫(kù)是否有新增的圖片。具體地,在androidmanifest(名單)中設(shè)置后臺(tái)進(jìn)程的優(yōu)先級(jí)數(shù)值,例如為最高值1000。然后,調(diào)用onstartcommand(待啟動(dòng)命令)函數(shù)返回start_stickt(連續(xù))命令?;诖耍?wù)進(jìn)程在系統(tǒng)資源緊張時(shí)可能會(huì)被結(jié)束運(yùn)行,但當(dāng)系統(tǒng)資源恢復(fù)時(shí),該服務(wù)進(jìn)程就會(huì)重新啟動(dòng),從而繼續(xù)監(jiān)測(cè)系統(tǒng)圖片庫(kù)是否有新增的圖片。
二是,提高監(jiān)測(cè)系統(tǒng)圖片庫(kù)的后臺(tái)進(jìn)程在前臺(tái)運(yùn)行的優(yōu)先級(jí),而后通過后臺(tái)進(jìn)程監(jiān)測(cè)系統(tǒng)圖片庫(kù)是否有新增的圖片。具體地,第二終端的系統(tǒng)設(shè)置receiver_boot_completed組件為permission(許可),以將activity進(jìn)程和service進(jìn)程分開。service進(jìn)程通過br(broadcastreceiver,廣播接收機(jī))接收開機(jī)信號(hào),并啟動(dòng)service進(jìn)程。然后,service進(jìn)程調(diào)用startforeground(開啟前臺(tái))函數(shù)。activity進(jìn)程啟動(dòng)后與service進(jìn)程綁定,兩者之間通過ipc(inter-processcommunication,進(jìn)程間通信)方式進(jìn)行通信,從而能夠在第二終端的菜單通知欄顯示是否有新增的圖片的通知項(xiàng)。activity進(jìn)程退出時(shí)與service進(jìn)程解綁。
三是,使用服務(wù)進(jìn)程和守護(hù)進(jìn)程交替監(jiān)測(cè)系統(tǒng)圖片庫(kù)是否有新增的圖片。服務(wù)進(jìn)程和守護(hù)進(jìn)程保持父子關(guān)系,若子進(jìn)程結(jié)束,則父進(jìn)程重新創(chuàng)建子進(jìn)程;若父進(jìn)程結(jié)束,則子進(jìn)程使用am(activitymanager,活動(dòng)管理)命令重啟父進(jìn)程。即,服務(wù)進(jìn)程監(jiān)聽守護(hù)進(jìn)程的運(yùn)行狀態(tài),若守護(hù)進(jìn)程結(jié)束,則服務(wù)進(jìn)程重新喚起守護(hù)進(jìn)程;守護(hù)進(jìn)程監(jiān)聽服務(wù)進(jìn)程的運(yùn)行狀態(tài),若服務(wù)進(jìn)程結(jié)束,則守護(hù)進(jìn)程重新喚起服務(wù)進(jìn)程。
當(dāng)然,本發(fā)明其他實(shí)施例可以通過監(jiān)測(cè)系統(tǒng)圖片庫(kù)中圖片的標(biāo)識(shí)符以判斷是否有新增的圖片。具體地,將監(jiān)聽服務(wù)依附于某些具體的軟件,當(dāng)軟件被用戶打開運(yùn)行時(shí),后臺(tái)服務(wù)進(jìn)程可以對(duì)系統(tǒng)圖片庫(kù)中圖片的標(biāo)識(shí)符進(jìn)行遍歷查找,以此篩選出新增的圖片。其中,標(biāo)識(shí)符可以使用bit(字節(jié))類型,如果圖片被監(jiān)測(cè)過,則其標(biāo)識(shí)符修改為1,否則為null。通過這種方式,當(dāng)系統(tǒng)圖片庫(kù)具有大量圖片時(shí),即使對(duì)系統(tǒng)圖片庫(kù)進(jìn)行一遍遍歷,也能減少時(shí)間和資源上的損耗。
如果監(jiān)測(cè)到系統(tǒng)圖片庫(kù)有新增的圖片,則執(zhí)行步驟s15~s16。如果未監(jiān)測(cè)到系統(tǒng)圖片庫(kù)有新增的圖片,則繼續(xù)執(zhí)行步驟s14,直至監(jiān)測(cè)到系統(tǒng)圖片庫(kù)有新增的圖片時(shí)才執(zhí)行步驟s15~s16。
s15:第二終端檢測(cè)新增的圖片是否包含二維碼。
結(jié)合圖4所示,本實(shí)施例可以在zxing(開源項(xiàng)目)源碼中通過getframingrect()函數(shù)(矩形框架函數(shù))修改二維碼掃描的聚焦框的尺寸,即并不限定聚焦框的尺寸為圖片(屏幕)尺寸的5/8,而后通過getframingrectinpreview()函數(shù)(矩形框架預(yù)覽函數(shù))完成第二終端的屏幕分辨率到相機(jī)分辨率的轉(zhuǎn)換,從而能夠在聚焦框中顯示圖片的全部尺寸。而后,通過聚焦框掃描圖片,并判斷該圖片是否存在三個(gè)“回”字形標(biāo)識(shí),若存在,則判定新增的圖片包含二維碼,執(zhí)行步驟s16;若不存在,則判定新增的圖片不包含二維碼,不對(duì)該圖片執(zhí)行后續(xù)掃描處理,可以繼續(xù)執(zhí)行步驟s14。本實(shí)施例通過掃描檢測(cè)圖片是否含有三個(gè)“回”字形標(biāo)識(shí)即可,而不需要全盤掃描圖片并解析出二維碼的全部?jī)?nèi)容。
s16:第二終端掃描二維碼以獲取相應(yīng)的聯(lián)系人信息。
本實(shí)施例可以調(diào)用zxing源碼中qrcodereader(二維碼讀取)組件的decode()函數(shù)(解碼函數(shù))自動(dòng)掃描二維碼。
基于上述,本實(shí)施例采用當(dāng)前通用的二維碼進(jìn)行聯(lián)系人信息的分享與交互,解決了傳統(tǒng)使用文本或附件形式分享需要用戶手動(dòng)進(jìn)行信息添加處理的弊端,同時(shí)具有一定的數(shù)據(jù)保密性。并且,相比較于現(xiàn)有技術(shù)僅能夠?qū)νㄓ嶄浿械穆?lián)系人信息生成二維碼,本實(shí)施例能夠允許二維碼攜帶更多的聯(lián)系人信息。
另外,通過能夠傳輸位圖文件的應(yīng)用程序發(fā)送聯(lián)系人信息的二維碼,本實(shí)施例能夠多渠道分享聯(lián)系人信息,例如用戶可以通過彩信、微信、郵件等應(yīng)用程序傳輸聯(lián)系人信息,使得對(duì)方無需當(dāng)面或近距離掃描二維碼,因此能夠減少用戶操作,且不受地理位置限制。
并且,通過后臺(tái)服務(wù)進(jìn)程自動(dòng)檢測(cè)新增的圖片是否包含二維碼并識(shí)別其中的信息,改變了“打開掃描器—打開系統(tǒng)圖片庫(kù)—選擇系統(tǒng)圖片庫(kù)中的圖片—進(jìn)行二維碼掃描”這一傳統(tǒng)的掃描系統(tǒng)圖片庫(kù)二維碼方式,能夠大大簡(jiǎn)化用戶操作。
請(qǐng)參閱圖5,為本發(fā)明另一實(shí)施例的基于二維碼的信息交互方法。所述信息交互方法可以包括步驟s51~s56。
s51:第一終端調(diào)取聯(lián)系人信息,并生成與聯(lián)系人信息對(duì)應(yīng)的二維碼。
s52:第一終端篩選出能夠傳輸位圖文件的應(yīng)用程序,并通過應(yīng)用程序?qū)⑺龆S碼發(fā)送給第二終端。
s53:第二終端接收二維碼,并將二維碼保存于系統(tǒng)圖片庫(kù)。
s54:第二終端件監(jiān)測(cè)系統(tǒng)圖片庫(kù)在預(yù)定時(shí)間內(nèi)是否有多張新增的圖片。
在監(jiān)測(cè)到所述系統(tǒng)圖片庫(kù)預(yù)定時(shí)間內(nèi)有多張新增的圖片時(shí),本實(shí)施例執(zhí)行步驟s55和s56。在監(jiān)測(cè)到所述系統(tǒng)圖片庫(kù)預(yù)定時(shí)間內(nèi)僅有一張新增的圖片時(shí),本實(shí)施例直接執(zhí)行步驟s56。
s55:第二終端獲取所述多張新增的圖片中含有二維碼的圖片并顯示給用戶,并根據(jù)用戶指令掃描二維碼。
s56:第二終端掃描二維碼以獲取相應(yīng)的聯(lián)系人信息。
在前述實(shí)施例的描述基礎(chǔ)上,但與其不同的是,本實(shí)施例第二終端的系統(tǒng)會(huì)進(jìn)行一個(gè)預(yù)定時(shí)間(例如2秒)的延時(shí)操作,用以區(qū)分用戶操作的目的性。當(dāng)這段預(yù)定時(shí)間內(nèi)只有一張新增的圖片導(dǎo)入時(shí),表示該圖片是用戶有意加入,有較大概率需要掃描,此時(shí)系統(tǒng)在延時(shí)結(jié)束后會(huì)檢測(cè)該新增的圖片是否含有二維碼,如果有,則直接掃描并獲取相應(yīng)的聯(lián)系人信息并保存。如果這段預(yù)定時(shí)間內(nèi)有多張新增的圖片導(dǎo)入,表示用戶需要自動(dòng)掃描二維碼的目的性不強(qiáng),因此只需要在延時(shí)結(jié)束后對(duì)新增的圖片進(jìn)行是否包含二維碼的檢測(cè)即可。
其中,在這段預(yù)定時(shí)間內(nèi)有多張新增的圖片導(dǎo)入時(shí),本實(shí)施例可以將多張新增的圖片的uri(uniformresourceidentifier,統(tǒng)一資源標(biāo)識(shí)符)加入待處理隊(duì)列,而不需要將新增的圖片緩存。只有當(dāng)用戶下達(dá)對(duì)待處理隊(duì)列中的圖片進(jìn)行操作時(shí),本實(shí)施例才根據(jù)uri緩存新增的圖片,并將其中包含二維碼的圖片顯示給用戶,交由用戶選擇是否掃描。
對(duì)于cpu和內(nèi)存資源都極其有限的終端來說,圖片的加載和處理過程容易大量被占用系統(tǒng)資源,導(dǎo)致系統(tǒng)卡頓并影響整個(gè)系統(tǒng)的性能,嚴(yán)重時(shí)會(huì)出現(xiàn)oom(outofmemory,內(nèi)存不足)現(xiàn)象?;诖耍诒O(jiān)測(cè)到系統(tǒng)圖片庫(kù)預(yù)定時(shí)間內(nèi)有多張新增的圖片時(shí),本實(shí)施例可以將多張新增的圖片依序加入阻塞隊(duì)列,并建立線程池,利用線程池建立的多個(gè)工作線程檢測(cè)阻塞隊(duì)列中的多張新增的圖片是否包含二維碼。
結(jié)合圖6所示,利用線程池設(shè)定本次任務(wù)最大可開啟的工作線程數(shù)例如為n,線程池在創(chuàng)建時(shí)其本身沒有工作線程。線程池管理器將預(yù)定時(shí)間內(nèi)獲取的多張新增的圖片依序加入阻塞隊(duì)列中,阻塞隊(duì)列能保證處理過程有序進(jìn)行。阻塞隊(duì)列會(huì)對(duì)當(dāng)前的工作線程產(chǎn)生阻塞,如果阻塞隊(duì)列為空,則當(dāng)前的工作線程會(huì)被阻塞直到阻塞隊(duì)列中有了新增的圖片,然后被阻塞的工作線程會(huì)被喚醒。喚醒的工作線程判斷新增的圖片是否包含二維碼,并將判斷結(jié)果加入結(jié)果隊(duì)列。線程池管理器從結(jié)果隊(duì)列中獲取多張新增的圖片中含有二維碼的圖片。通過阻塞隊(duì)列+線程池的方式,本實(shí)施例能夠有效的管理、調(diào)度工作線程去識(shí)別多張新增的圖片是否包含二維碼,避免過多的系統(tǒng)資源消耗。
請(qǐng)參閱圖7,為本發(fā)明的基于二維碼的信息交互方法一具體應(yīng)用例。該實(shí)施例實(shí)現(xiàn)本發(fā)明前述實(shí)施例的整個(gè)過程,在此不作贅述。
應(yīng)該理解到,上述各個(gè)實(shí)施例之間可以相互結(jié)合,并且上述功能如果以軟件功能的形式實(shí)現(xiàn)并作為獨(dú)立產(chǎn)品銷售或使用時(shí),可存儲(chǔ)在一個(gè)電子設(shè)備可讀取存儲(chǔ)介質(zhì)中,即,本發(fā)明還提供一種存儲(chǔ)有程序數(shù)據(jù)的存儲(chǔ)裝置,所述程序數(shù)據(jù)能夠被執(zhí)行以實(shí)現(xiàn)上述實(shí)施例的方法,該存儲(chǔ)裝置可以為如u盤、光盤、服務(wù)器等。也就是說,本發(fā)明的各個(gè)實(shí)施例可以以軟件產(chǎn)品的形式體現(xiàn)出來,其包括若干指令用以使得一臺(tái)智能終端執(zhí)行各個(gè)實(shí)施例所述方法的全部或部分步驟。
請(qǐng)參閱圖8,為本發(fā)明一實(shí)施例的基于二維碼進(jìn)行信息交互的終端。所述終端80可以包括處理器81、存儲(chǔ)器82、收發(fā)器83、顯示器84和通信總線85,處理器81通過通信總線85與存儲(chǔ)器82、收發(fā)器83和顯示器84連接。
收發(fā)器83用于接收二維碼,并將二維碼保存于系統(tǒng)圖片庫(kù)。
處理器81用于監(jiān)測(cè)系統(tǒng)圖片庫(kù)是否有新增的圖片,并在監(jiān)測(cè)到系統(tǒng)圖片庫(kù)有新增的圖片時(shí)檢測(cè)新增的圖片是否包含二維碼。若有,則處理器81用于掃描二維碼以獲取相應(yīng)的聯(lián)系人信息。
存儲(chǔ)器82用于存儲(chǔ)聯(lián)系人信息。
為了增加對(duì)系統(tǒng)圖片庫(kù)的監(jiān)控時(shí)長(zhǎng),即盡可能在宏觀上一直保持監(jiān)測(cè)狀態(tài),處理器81可以提高監(jiān)測(cè)系統(tǒng)圖片庫(kù)的后臺(tái)進(jìn)程的優(yōu)先級(jí),使得所述后臺(tái)進(jìn)程變?yōu)榉?wù)進(jìn)程,并通過服務(wù)進(jìn)程監(jiān)測(cè)系統(tǒng)圖片庫(kù)是否有新增的圖片,或者,提高監(jiān)測(cè)系統(tǒng)圖片庫(kù)的后臺(tái)進(jìn)程在前臺(tái)運(yùn)行的優(yōu)先級(jí),而后通過后臺(tái)進(jìn)程監(jiān)測(cè)系統(tǒng)圖片庫(kù)是否有新增的圖片;又或者,使用服務(wù)進(jìn)程和守護(hù)進(jìn)程交替監(jiān)測(cè)系統(tǒng)圖片庫(kù)是否有新增的圖片。
在處理器81監(jiān)測(cè)到系統(tǒng)圖片庫(kù)預(yù)定時(shí)間內(nèi)有多張新增的圖片時(shí),所述終端80的顯示器84用于將多張新增的圖片中含有二維碼的圖片顯示給用戶,收發(fā)器83用于接收用戶指令,處理器81用于根據(jù)收發(fā)器83接收到的用戶指令掃描二維碼。
在監(jiān)測(cè)到系統(tǒng)圖片庫(kù)預(yù)定時(shí)間內(nèi)有多張新增的圖片時(shí),處理器81用于將多張新增的圖片依序加入阻塞隊(duì)列,以及建立線程池,并利用線程池建立的多個(gè)工作線程檢測(cè)阻塞隊(duì)列中的多張新增的圖片是否包含二維碼。
本實(shí)施例的終端80的上述結(jié)構(gòu)元件對(duì)應(yīng)執(zhí)行上述各個(gè)實(shí)施例的基于二維碼的信息交互方法,具有與其相同的技術(shù)效果。
本發(fā)明全文所述終端(包括第一終端和第二終端)可以為智能手機(jī)、pda(personaldigitalassistant,個(gè)人數(shù)字助理或平板電腦)等移動(dòng)終端,也可以是佩戴于肢體或者嵌入于衣物、首飾、配件中的具有聯(lián)系人信息交互顯示功能的可穿戴設(shè)備。
以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,例如各實(shí)施例之間技術(shù)特征的相互結(jié)合,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。