一種處理彈窗的方法、裝置及電子設(shè)備的制造方法
【專利摘要】本發(fā)明的實(shí)施例公開一種處理彈窗的方法、裝置及電子設(shè)備,涉及信息推送技術(shù),能夠提高用戶的工作效率。所述處理彈窗的方法包括:監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)相匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。本發(fā)明適用于利用彈窗推送增值業(yè)務(wù)信息。
【專利說(shuō)明】
一種處理彈窗的方法、裝置及電子設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及信息推送技術(shù),尤其涉及一種處理彈窗的方法、裝置及電子設(shè)備。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)通信以及互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,電子設(shè)備,例如,智能移動(dòng)電話、個(gè)人數(shù)字助理、掌上電腦、筆記本電腦等應(yīng)用越來(lái)越廣泛。電子設(shè)備能夠容納的互聯(lián)網(wǎng)信息呈指數(shù)級(jí)增長(zhǎng),用于承載互聯(lián)網(wǎng)信息的應(yīng)用程序(APP,AppliCat1n)也越來(lái)越多,極大地滿足了不同用戶的個(gè)性化需求。但電子設(shè)備在帶給用戶極大便利的同時(shí),也給用戶帶來(lái)了不少困擾,例如,一些應(yīng)用程序運(yùn)營(yíng)商發(fā)現(xiàn)了基于電子設(shè)備的商機(jī),即利用彈窗的方式向用戶推送增值業(yè)務(wù)信息。其中,彈窗是電子設(shè)備中常見的一種視窗(窗口)表現(xiàn)形式,通過(guò)以透明或半透明的方式懸浮于瀏覽器顯示界面上,向用戶提供應(yīng)用程序的一些以文字和圖片相結(jié)合的擴(kuò)展增值業(yè)務(wù)功能。例如,通過(guò)彈窗方式,向用戶推送新聞資訊、應(yīng)用程序推廣資訊、天氣資訊、游戲上線資訊、旅游資訊以及特價(jià)商品資訊等,使得用戶可以根據(jù)自身的個(gè)性化需求,通過(guò)瀏覽彈窗中相關(guān)資訊內(nèi)容或點(diǎn)擊彈窗中的相關(guān)鏈接信息,訪問(wèn)對(duì)應(yīng)的網(wǎng)頁(yè),從而方便、快捷地獲取應(yīng)用程序運(yùn)營(yíng)商推送的擴(kuò)展增值業(yè)務(wù)。
[0003]但現(xiàn)有利用彈窗推送增值業(yè)務(wù)信息的方法,由于大量的應(yīng)用程序運(yùn)營(yíng)商設(shè)置有彈窗,向用戶頻繁彈出各種類型的彈窗,極大地影響了用戶的正常工作效率。例如,在用戶執(zhí)行Office工作時(shí),彈出的彈窗會(huì)使得用戶輸入的字符中斷,并使得一些輸入的字符消失,需要重新進(jìn)行輸入;再例如,在用戶展示PPT、玩游戲的過(guò)程中,彈出的彈窗同樣會(huì)中斷用戶當(dāng)前的操作,給用戶帶來(lái)極大困擾,降低了用戶的工作效率。
[0004]目前,為了減少?gòu)棿皩?duì)用戶的干擾,現(xiàn)有處理彈窗的方法是設(shè)置彈窗白名單庫(kù),利用彈窗白名單庫(kù)對(duì)待加載的彈窗進(jìn)行監(jiān)控,如果監(jiān)控過(guò)程中監(jiān)控到應(yīng)用程序創(chuàng)建彈窗,將該應(yīng)用程序創(chuàng)建彈窗的窗口信息提交給預(yù)先設(shè)置的彈窗攔截引擎,彈窗攔截引擎在接收到窗口信息后,與彈窗白名單庫(kù)進(jìn)行匹配,如果與彈窗白名單庫(kù)不相匹配,阻止彈窗的創(chuàng)建。
[0005]但該處理彈窗的方法,即使是推送與彈窗白名單庫(kù)相匹配的彈窗,也沒(méi)有解決上述的影響用戶正常工作效率的技術(shù)問(wèn)題。例如,在用戶執(zhí)行Office工作、展示PPT、玩游戲的過(guò)程中,彈出的彈窗會(huì)中斷用戶當(dāng)前的操作,使得用戶的工作效率低;進(jìn)一步地,攔截(拒絕)未與彈窗白名單庫(kù)匹配的彈窗,使得一些用戶未設(shè)置在彈窗白名單庫(kù)中但用戶有需求瀏覽的彈窗,例如,新聞?lì)悘棿啊⑧]件提醒彈窗,將無(wú)法推送給用戶,使用戶漏失重要信息,不僅降低了增值業(yè)務(wù)信息的推送成功率,影響了用戶的增值業(yè)務(wù)體驗(yàn),也不利于應(yīng)用程序運(yùn)營(yíng)商的增值業(yè)務(wù)推廣。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明實(shí)施例提供一種處理彈窗的方法、裝置及電子設(shè)備,能夠提高用戶的工作效率,以解決現(xiàn)有的處理彈窗的方法中,彈出的彈窗會(huì)中斷用戶當(dāng)前的操作,使得用戶的工作效率低的問(wèn)題。[0007 ]第一方面,本發(fā)明實(shí)施例提供一種處理彈窗的方法,包括:
[0008]監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);
[0009]在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)相匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;
[0010]如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0011]結(jié)合第一方面,在第一方面的第一種實(shí)施方式中,在所述如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為之后,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗之前,所述該方法還包括:
[0012]獲取待創(chuàng)建的彈窗的窗口信息,依據(jù)所述窗口信息判斷應(yīng)用程序編程接口待創(chuàng)建的彈窗是否為置頂彈窗,如果是,執(zhí)行所述拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗的步驟;如果不是,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,允許所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0013]結(jié)合第一方面的第一種實(shí)施方式,在第一方面的第二種實(shí)施方式中,在所述如果是之后,執(zhí)行所述拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗的步驟之前,所述該方法還包括:
[0014]判斷獲取的所述窗口信息是否與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,且所述窗口信息中是否攜帶有實(shí)時(shí)增值業(yè)務(wù)信息,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,且所述窗口信息中攜帶有實(shí)時(shí)增值業(yè)務(wù)信息,允許所述應(yīng)用程序編程接口創(chuàng)建彈窗;否則,執(zhí)行所述拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗的步驟。
[0015]結(jié)合第一方面的第二種實(shí)施方式,在第一方面的第三種實(shí)施方式中,所述如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配包括:
[0016]提取所述窗口信息中包含的窗口名、窗口類名以及應(yīng)用程序名;
[0017]查詢預(yù)先設(shè)置的彈窗白名單庫(kù),判斷是否存在與提取的應(yīng)用程序名相同的應(yīng)用程序白名單;
[0018]如果存在與提取的應(yīng)用程序名相同的應(yīng)用程序白名單,判斷所述應(yīng)用程序白名單下是否存在與提取的窗口類名相同的窗口類名白名單;
[0019]如果存在與提取的窗口類名相同的窗口類名白名單,判斷所述窗口類名白名單下是否存在與提取的窗口名相同的窗口名白名單,如果存在,確認(rèn)獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配。
[0020]結(jié)合第一方面、第一方面的第一種至第三種的任一種實(shí)施方式,在第一方面的第四種實(shí)施方式中,在拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗之后,所述方法還包括:
[0021]獲取待創(chuàng)建的彈窗的窗口信息;
[0022]如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,緩存所述待創(chuàng)建的彈窗的窗口信息;
[0023]監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);
[0024]如果所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的所有工作狀態(tài)都不匹配,依據(jù)緩存的所述窗口信息創(chuàng)建彈窗。
[0025]結(jié)合第一方面、第一方面的第一種至第三種的任一種實(shí)施方式,在第一方面的第五種實(shí)施方式中,所述方法還包括:
[0026]在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)都不匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;
[0027]如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,獲取待創(chuàng)建的彈窗的窗口信息;
[0028]如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,依據(jù)所述窗口信息創(chuàng)建彈窗。
[0029]結(jié)合第一方面的第五種實(shí)施方式,在第一方面的第六種實(shí)施方式中,在所述如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,獲取待創(chuàng)建的彈窗的窗口信息之后,所述方法還包括:
[0030]如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的所有彈窗白名單都不匹配,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0031]結(jié)合第一方面、第一方面的第一種至第三種的任一種實(shí)施方式,在第一方面的第七種實(shí)施方式中,所述工作狀態(tài)庫(kù)包括:電子設(shè)備處于外接顯示器狀態(tài)、電子設(shè)備處于全屏模式狀態(tài)、非全屏模式狀態(tài)下有預(yù)先設(shè)置的應(yīng)用程序運(yùn)行狀態(tài)。
[0032]第二方面,本發(fā)明實(shí)施例提供一種處理彈窗的裝置,包括:運(yùn)行狀態(tài)監(jiān)測(cè)模塊、工作狀態(tài)匹配模塊以及調(diào)用行為監(jiān)測(cè)模塊,其中,
[0033]運(yùn)行狀態(tài)監(jiān)測(cè)模塊,用于監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);
[0034]工作狀態(tài)匹配模塊,用于在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)相匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;
[0035]調(diào)用行為監(jiān)測(cè)模塊,如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0036]結(jié)合第二方面,在第二方面的第一種實(shí)施方式中,所述調(diào)用行為監(jiān)測(cè)模塊包括:調(diào)用行為監(jiān)測(cè)單元、置頂彈窗判斷單元、調(diào)用行為拒絕單元以及調(diào)用行為允許單元,其中,
[0037]調(diào)用行為監(jiān)測(cè)單元,用于在監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為后,通知置頂彈窗判斷單元;
[0038]置頂彈窗判斷單元,用于獲取待創(chuàng)建的彈窗的窗口信息,依據(jù)所述窗口信息判斷應(yīng)用程序編程接口待創(chuàng)建的彈窗是否為置頂彈窗,如果是,通知調(diào)用行為拒絕單元;如果不是,通知調(diào)用行為允許單兀;
[0039]調(diào)用行為拒絕單元,用于拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗;
[0040]調(diào)用行為允許單元,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,允許所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0041]結(jié)合第二方面的第一種實(shí)施方式,在第二方面的第二種實(shí)施方式中,所述調(diào)用行為監(jiān)測(cè)模塊還包括:
[0042]彈窗匹配單元,用于攔截輸出至調(diào)用行為拒絕單元的通知,判斷獲取的所述窗口信息是否與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,且所述窗口信息中是否攜帶有實(shí)時(shí)增值業(yè)務(wù)信息,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,且所述窗口信息中攜帶有實(shí)時(shí)增值業(yè)務(wù)信息,通知調(diào)用行為允許單元;否則,通知調(diào)用行為拒絕單元。
[0043]結(jié)合第二方面的第二種實(shí)施方式,在第二方面的第三種實(shí)施方式中,所述如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配包括:
[0044]提取所述窗口信息中包含的窗口名、窗口類名以及應(yīng)用程序名;
[0045]查詢預(yù)先設(shè)置的彈窗白名單庫(kù),判斷是否存在與提取的應(yīng)用程序名相同的應(yīng)用程序白名單;
[0046]如果存在與提取的應(yīng)用程序名相同的應(yīng)用程序白名單,判斷所述應(yīng)用程序白名單下是否存在與提取的窗口類名相同的窗口類名白名單;
[0047]如果存在與提取的窗口類名相同的窗口類名白名單,判斷所述窗口類名白名單下是否存在與提取的窗口名相同的窗口名白名單,如果存在,確認(rèn)獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配。
[0048]結(jié)合第二方面、第二方面的第一種至第三種中任一種實(shí)施方式,在第二方面的第四種實(shí)施方式中,所述裝置還包括:
[0049]彈窗緩存模塊,用于獲取待創(chuàng)建的彈窗的窗口信息;如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,緩存所述待創(chuàng)建的彈窗的窗口信息;監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);如果所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的所有工作狀態(tài)都不匹配,依據(jù)緩存的所述窗口信息創(chuàng)建彈窗。
[0050]結(jié)合第二方面、第二方面的第一種至第三種中任一種實(shí)施方式,在第二方面的第五種實(shí)施方式中,所述裝置還包括:
[0051]工作狀態(tài)不匹配處理模塊,用于在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)都不匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,獲取待創(chuàng)建的彈窗的窗口信息;如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,依據(jù)所述窗口信息創(chuàng)建彈窗。
[0052]結(jié)合第二方面的第五種實(shí)施方式,在第二方面的第六種實(shí)施方式中,所述工作狀態(tài)不匹配處理模塊還用于:如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的所有彈窗白名單都不匹配,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0053]結(jié)合第二方面、第二方面的第一種至第三種中任一種實(shí)施方式,在第二方面的第七種實(shí)施方式中,所述工作狀態(tài)庫(kù)包括:電子設(shè)備處于外接顯示器狀態(tài)、電子設(shè)備處于全屏模式狀態(tài)、非全屏模式狀態(tài)下有預(yù)先設(shè)置的應(yīng)用程序運(yùn)行狀態(tài)。
[0054]第三方面,本發(fā)明實(shí)施例提供一種電子設(shè)備,所述電子設(shè)備包括:殼體、處理器、存儲(chǔ)器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲(chǔ)器設(shè)置在電路板上;電源電路,用于為上述電子設(shè)備的各個(gè)電路或器件供電;存儲(chǔ)器用于存儲(chǔ)可執(zhí)行程序代碼;處理器通過(guò)讀取存儲(chǔ)器中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與可執(zhí)行程序代碼對(duì)應(yīng)的程序,用于執(zhí)行前述任一所述的處理彈窗的方法。
[0055]本發(fā)明實(shí)施例提供的一種處理彈窗的方法、裝置及電子設(shè)備,通過(guò)監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)相匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗,能夠提高用戶的工作效率,以解決現(xiàn)有的處理彈窗的方法中,彈出的彈窗會(huì)中斷用戶當(dāng)前的操作,使得用戶的工作效率低的問(wèn)題。
【附圖說(shuō)明】
[0056]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0057]圖1為本發(fā)明的實(shí)施例一處理彈窗的方法流程示意圖;
[0058]圖2為本發(fā)明的實(shí)施例二處理彈窗的方法流程示意圖;
[0059]圖3為本發(fā)明的實(shí)施例三處理彈窗的裝置結(jié)構(gòu)示意圖;
[0000]圖4為本發(fā)明電子設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)不意圖。
【具體實(shí)施方式】
[0061]下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。
[0062]應(yīng)當(dāng)明確,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0063]圖1為本發(fā)明的實(shí)施例一處理彈窗的方法流程示意圖,如圖1所示,本實(shí)施例的方法可以包括:
[0064]步驟101,監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);
[0065]本實(shí)施例中,本實(shí)施例中,考慮到當(dāng)用戶處于工作狀態(tài)時(shí),如果彈出彈窗,將會(huì)中斷用戶當(dāng)前的工作狀態(tài),給用戶造成困擾,極大地影響了用戶的正常工作效率。因而,考慮對(duì)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài)進(jìn)行監(jiān)測(cè),如果當(dāng)前運(yùn)行狀態(tài)為用戶處于工作狀態(tài),則阻止彈出彈窗,以避免對(duì)用戶當(dāng)前工作狀態(tài)的干擾。
[0066]步驟102,在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)相匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;
[0067]本實(shí)施例中,通過(guò)預(yù)先設(shè)置工作狀態(tài)庫(kù),當(dāng)電子設(shè)備運(yùn)行在工作狀態(tài)庫(kù)中的任一工作狀態(tài)時(shí),將拒絕彈出彈窗,以避免影響用戶的正常工作。
[0068]本實(shí)施例中,預(yù)先設(shè)置的工作狀態(tài)庫(kù)可依據(jù)用戶是否處于工作狀態(tài)確定。
[0069]作為一可選實(shí)施例,如果電子設(shè)備的當(dāng)前運(yùn)行狀態(tài)為下列狀態(tài)之一或其任意組合:
[0070]I)電子設(shè)備有外接顯示器的狀態(tài),外接顯示器包括但不限于投影儀:在該外接有顯示器的狀態(tài)下,用戶可能在進(jìn)行PPT展示,或者視頻外放,為了避免對(duì)用戶的干擾,應(yīng)攔截對(duì)用戶進(jìn)行彈窗的展示。
[0071 ] 2)電子設(shè)備處于全屏模式狀態(tài):在全屏模式狀態(tài)下,用戶可能正在進(jìn)行游戲或觀看視頻,也不應(yīng)進(jìn)行彈窗展示。
[0072]3)有Off ice、CAD等工作應(yīng)用程序運(yùn)行的狀態(tài):在該狀態(tài)下,用戶可能正在進(jìn)行工作,或者給客戶展示產(chǎn)品效果,不應(yīng)進(jìn)行彈窗展示。
[0073]4)非全屏模式狀態(tài)下,有游戲應(yīng)用程序、視頻應(yīng)用程序、財(cái)經(jīng)應(yīng)用程序等應(yīng)用程序運(yùn)行的狀態(tài),不應(yīng)進(jìn)行彈窗展示。
[0074]因而,本實(shí)施例中,工作狀態(tài)庫(kù)包括但不限于:電子設(shè)備處于外接顯示器狀態(tài)、電子設(shè)備處于全屏模式狀態(tài)、非全屏模式狀態(tài)下有預(yù)先設(shè)置的應(yīng)用程序運(yùn)行狀態(tài)等。舉例來(lái)說(shuō),如果電子設(shè)備的當(dāng)前運(yùn)行狀態(tài)處于外接顯示器狀態(tài)、和/或,全屏狀態(tài)、和/或,有預(yù)先設(shè)置的應(yīng)用程序運(yùn)行,則拒絕應(yīng)用程序編程接口創(chuàng)建彈窗。
[0075]當(dāng)然,實(shí)際應(yīng)用中,工作狀態(tài)庫(kù)還可以根據(jù)實(shí)際需要進(jìn)行擴(kuò)展或更新,例如,對(duì)于電子設(shè)備處于全屏模式狀態(tài),還可以檢測(cè)是否是有預(yù)先設(shè)置的應(yīng)用程序運(yùn)行,本實(shí)施例對(duì)此不作限定。
[0076]本實(shí)施例中,作為一可選實(shí)施例,利用監(jiān)控進(jìn)程,例如,利用monitor.exe進(jìn)程監(jiān)控當(dāng)前運(yùn)行狀態(tài)以及調(diào)用應(yīng)用程序編程接口(API ,Applicat1n Programming Interface)的行為。其中,監(jiān)控進(jìn)程包含兩個(gè)線程,一線程用于對(duì)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為進(jìn)行監(jiān)控,另一線程用于對(duì)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài)進(jìn)行監(jiān)控。
[0077]本實(shí)施例中,通過(guò)啟動(dòng)monitor.exe進(jìn)程,該monitor.exe進(jìn)程啟動(dòng)兩個(gè)線程,分別為A線程以及B線程,A線程對(duì)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài)進(jìn)行監(jiān)控,B線程對(duì)彈窗的創(chuàng)建進(jìn)行監(jiān)控。在初始階段,A線程處于運(yùn)行狀態(tài),B線程處于睡眠狀態(tài),當(dāng)A線程監(jiān)測(cè)到電子設(shè)備的當(dāng)前運(yùn)行狀態(tài)處于工作狀態(tài)庫(kù)中的任一工作狀態(tài)(與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)相匹配)時(shí),喚醒B線程,使得B線程初始化后處于運(yùn)行狀態(tài),監(jiān)控是否有第三方應(yīng)用程序調(diào)用創(chuàng)建彈窗的API行為。
[0078]步驟103,如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0079]本實(shí)施例中,如果在用戶處于工作狀態(tài)的條件下,有第三方應(yīng)用程序調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為,為了不影響用戶的正常工作狀態(tài),拒絕調(diào)用的應(yīng)用程序編程接口創(chuàng)建彈窗的行為。
[0080]本實(shí)施例中,作為一可選實(shí)施例,在所述如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為之后,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗之前,該方法還包括:
[0081 ]獲取待創(chuàng)建的彈窗的窗口信息,依據(jù)所述窗口信息判斷應(yīng)用程序編程接口待創(chuàng)建的彈窗是否為置頂彈窗,如果是,執(zhí)行所述拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗的步驟;如果不是,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,允許所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0082]本實(shí)施例中,由于只有置頂彈窗會(huì)對(duì)用戶產(chǎn)生干擾,通過(guò)對(duì)窗口信息進(jìn)行判斷,如果創(chuàng)建了一個(gè)置頂?shù)膹棿?,則將窗口信息提交給窗口攔截引擎以作進(jìn)一步判斷,即窗口攔截引擎判斷獲取的所述窗口信息是否與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,如果不相匹配,執(zhí)行所述拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗的步驟;如果相匹配,允許所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0083]本實(shí)施例中,作為一可選實(shí)施例,在所述如果是之后,執(zhí)行所述拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗的步驟之前,該方法還包括:
[0084]判斷獲取的所述窗口信息是否與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,且所述窗口信息中是否攜帶有實(shí)時(shí)增值業(yè)務(wù)信息,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,且所述窗口信息中攜帶有實(shí)時(shí)增值業(yè)務(wù)信息,允許所述應(yīng)用程序編程接口創(chuàng)建彈窗;否則,執(zhí)行所述拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗的步驟。
[0085]本實(shí)施例中,實(shí)時(shí)增值業(yè)務(wù)信息是指具有極短生效時(shí)間的增值業(yè)務(wù)信息,因而,對(duì)于該類信息的推送,即時(shí)向用戶展示。例如,當(dāng)有突發(fā)新聞事件時(shí),即時(shí)彈出彈窗,引導(dǎo)用戶點(diǎn)擊并在彈窗新聞模塊查看詳情。
[0086]本實(shí)施例中,作為一可選實(shí)施例,所述如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配包括:
[0087]All,提取所述窗口信息中包含的窗口名、窗口類名以及應(yīng)用程序名;
[0088]A12,查詢預(yù)先設(shè)置的彈窗白名單庫(kù),判斷是否存在與提取的應(yīng)用程序名相同的應(yīng)用程序白名單;
[0089]A13,如果存在與提取的應(yīng)用程序名相同的應(yīng)用程序白名單,判斷所述應(yīng)用程序白名單下是否存在與提取的窗口類名相同的窗口類名白名單;
[0090]A14,如果存在與提取的窗口類名相同的窗口類名白名單,判斷所述窗口類名白名單下是否存在與提取的窗口名相同的窗口名白名單,如果存在,確認(rèn)獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配。
[0091 ]本實(shí)施例中,窗口攔截引擎在獲取窗口信息后,將窗口信息中包含的窗口名、窗口類名以及應(yīng)用程序名與本地存儲(chǔ)的彈窗白名單庫(kù)進(jìn)行匹配,如果能夠找到同一應(yīng)用程序名下的同一窗口類名下的同一窗口名,則允許應(yīng)用程序編程接口創(chuàng)建該窗口名對(duì)應(yīng)的彈窗;否則攔截應(yīng)用程序編程接口創(chuàng)建該窗口名對(duì)應(yīng)的彈窗。
[0092]作為一可選實(shí)施例,在拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗之后,該方法還包括:
[0093]Bll,獲取待創(chuàng)建的彈窗的窗口信息;
[0094]B12,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,緩存所述待創(chuàng)建的彈窗的窗口信息;
[0095]B13,監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);
[0096]B14,如果所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的所有工作狀態(tài)都不匹配,依據(jù)緩存的所述窗口信息創(chuàng)建彈窗。
[0097]本實(shí)施例中,作為一可選實(shí)施例,在用戶處于工作狀態(tài)的條件下,如果有第三方應(yīng)用程序調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為,可以緩存待創(chuàng)建的彈窗的窗口信息,以在用戶處于非工作狀態(tài)的條件下時(shí),依據(jù)緩存的窗口信息創(chuàng)建彈窗,從而便于用戶瀏覽,避免漏失重要的增值業(yè)務(wù)信息。
[0098]本實(shí)施例中,作為另一可選實(shí)施例,該方法還包括:
[0099]CU,在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)都不匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;
[0100]C12,如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,獲取待創(chuàng)建的彈窗的窗口信息;
[0101]C13,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,依據(jù)所述窗口信息創(chuàng)建彈窗。
[0102]本實(shí)施例中,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,允許第三方應(yīng)用程序調(diào)用應(yīng)用程序編程接口創(chuàng)建彈窗。
[0103]本實(shí)施例中,當(dāng)電子設(shè)備處于非工作狀態(tài)時(shí),監(jiān)控進(jìn)程啟動(dòng)B線程對(duì)彈窗的創(chuàng)建進(jìn)行監(jiān)控,將待創(chuàng)建的彈窗的窗口信息提交給彈窗攔截引擎,然后由彈窗攔截引擎將窗口信息在彈窗白名單庫(kù)中進(jìn)行匹配,如果匹配,允許彈窗的創(chuàng)建。
[0104]本實(shí)施例中,作為一可選實(shí)施例,在所述如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,獲取待創(chuàng)建的彈窗的窗口信息之后,該方法還包括:
[0105]如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的所有彈窗白名單都不匹配,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0106]本發(fā)明實(shí)施例一處理彈窗的方法,通過(guò)監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)相匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。這樣,將用戶使用電子設(shè)備處于工作狀態(tài)的場(chǎng)景納入考慮,在用戶處于工作狀態(tài)時(shí),例如,執(zhí)行Off ice工作、展示PPT、玩游戲的過(guò)程中,阻止創(chuàng)建彈窗,從而避免彈窗的彈出,避免中斷用戶當(dāng)前的操作,提升用戶的工作效率;進(jìn)一步地,輔之以彈窗白名單庫(kù),在用戶處于工作狀態(tài)時(shí),將與彈窗白名單庫(kù)的窗口信息進(jìn)行緩存,以在用戶處于非工作狀態(tài)時(shí),依據(jù)緩存的窗口信息創(chuàng)建彈窗,既避免了對(duì)用戶的打擾,也沒(méi)有用戶遺漏可能的重要信息,提升了增值業(yè)務(wù)信息的推送成功率,增強(qiáng)了用戶的增值業(yè)務(wù)體驗(yàn),利于應(yīng)用程序運(yùn)營(yíng)商的增值業(yè)務(wù)推廣。
[0107]圖2為本發(fā)明的實(shí)施例二處理彈窗的方法流程示意圖,如圖2所示,本實(shí)施例的方法可以包括:
[0108]步驟201,在操作系統(tǒng)加載用于攔截創(chuàng)建彈窗的彈窗鉤子程序;
[0109]本步驟中,彈窗鉤子程序是Windows操作系統(tǒng)中的一處理消息的應(yīng)用程序,通過(guò)Windows操作系統(tǒng)調(diào)用,可以將彈窗鉤子程序加載至Windows操作系統(tǒng)中。這樣,在應(yīng)用程序(第三方應(yīng)用程序)調(diào)用應(yīng)用程序編程接口來(lái)創(chuàng)建彈窗,而還未創(chuàng)建時(shí),彈窗鉤子程序可以先捕獲該創(chuàng)建行為,從而實(shí)現(xiàn)對(duì)創(chuàng)建行為的處理。
[0110]作為一可選實(shí)施例,可以通過(guò)調(diào)用Windows操作系統(tǒng)的Se tWindowsHookEx接口來(lái)加載彈窗鉤子程序。對(duì)于其它操作系統(tǒng)的電子設(shè)備,可以通過(guò)注入的方法,將預(yù)先設(shè)置的彈窗鉤子程序代碼段注入到其它操作系統(tǒng)中,關(guān)于注入為公知技術(shù),在此略去詳述。
[0111]步驟202,啟動(dòng)所述彈窗鉤子程序;
[0112]步驟203,監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);
[0113]本實(shí)施例中,利用啟動(dòng)的所述彈窗鉤子程序監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài)以及監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為,并進(jìn)行相應(yīng)處理。
[0114]步驟204,在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)相匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;
[0115]步驟205,如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0116]本實(shí)施例中,步驟203至步驟205的過(guò)程分別和上述方法實(shí)施例一的步驟101至步驟103類似,此處不再贅述。
[0117]本發(fā)明實(shí)施例二處理彈窗的方法,通過(guò)在操作系統(tǒng)加載用于攔截創(chuàng)建彈窗的彈窗鉤子程序,啟動(dòng)彈窗鉤子程序進(jìn)行運(yùn)行狀態(tài)的監(jiān)控以及彈窗創(chuàng)建的監(jiān)控,可以實(shí)現(xiàn)對(duì)彈窗的處理。
[0118]圖3為本發(fā)明的實(shí)施例三處理彈窗的裝置結(jié)構(gòu)示意圖,如圖3所示,本實(shí)施例的裝置可以包括:運(yùn)行狀態(tài)監(jiān)測(cè)模塊、工作狀態(tài)匹配模塊以及調(diào)用行為監(jiān)測(cè)模塊,其中,
[0119]運(yùn)行狀態(tài)監(jiān)測(cè)模塊31,用于監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);
[0120]工作狀態(tài)匹配模塊32,用于在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)相匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;
[0121 ]本實(shí)施例中,作為一可選實(shí)施例,工作狀態(tài)庫(kù)包括:電子設(shè)備處于外接顯示器狀態(tài)、電子設(shè)備處于全屏模式狀態(tài)、非全屏模式狀態(tài)下有預(yù)先設(shè)置的應(yīng)用程序運(yùn)行狀態(tài)。
[0122]本實(shí)施例中,作為一可選實(shí)施例,利用監(jiān)控進(jìn)程,例如,利用monitor.exe進(jìn)程監(jiān)控當(dāng)前運(yùn)行狀態(tài)以及調(diào)用應(yīng)用程序編程接口的行為。其中,監(jiān)控進(jìn)程包含兩個(gè)線程,一線程用于對(duì)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為進(jìn)行監(jiān)控,另一線程用于對(duì)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài)進(jìn)行監(jiān)控。
[0123]調(diào)用行為監(jiān)測(cè)模塊33,如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0124]本實(shí)施例中,如果在用戶處于工作狀態(tài)的條件下,有第三方應(yīng)用程序調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為,為了不影響用戶的正常工作狀態(tài),拒絕調(diào)用的應(yīng)用程序編程接口創(chuàng)建彈窗的行為。
[0125]本實(shí)施例中,作為一可選實(shí)施例,調(diào)用行為監(jiān)測(cè)模塊33包括:調(diào)用行為監(jiān)測(cè)單元、置頂彈窗判斷單元、調(diào)用行為拒絕單元以及調(diào)用行為允許單元(圖中未示出),其中,
[0126]調(diào)用行為監(jiān)測(cè)單元,用于在監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為后,通知置頂彈窗判斷單元;
[0127]置頂彈窗判斷單元,用于獲取待創(chuàng)建的彈窗的窗口信息,依據(jù)所述窗口信息判斷應(yīng)用程序編程接口待創(chuàng)建的彈窗是否為置頂彈窗,如果是,通知調(diào)用行為拒絕單元;如果不是,通知調(diào)用行為允許單兀;
[0128]調(diào)用行為拒絕單元,用于拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗;
[0129]調(diào)用行為允許單元,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,允許所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0130]本實(shí)施例中,作為一可選實(shí)施例,調(diào)用行為監(jiān)測(cè)模塊33還包括:
[0131]彈窗匹配單元,用于攔截輸出至調(diào)用行為拒絕單元的通知,判斷獲取的所述窗口信息是否與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,且所述窗口信息中是否攜帶有實(shí)時(shí)增值業(yè)務(wù)信息,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,且所述窗口信息中攜帶有實(shí)時(shí)增值業(yè)務(wù)信息,通知調(diào)用行為允許單元;否則,通知調(diào)用行為拒絕單元。
[0132]本實(shí)施例中,作為一可選實(shí)施例,所述如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配包括:
[0133]提取所述窗口信息中包含的窗口名、窗口類名以及應(yīng)用程序名;
[0134]查詢預(yù)先設(shè)置的彈窗白名單庫(kù),判斷是否存在與提取的應(yīng)用程序名相同的應(yīng)用程序白名單;
[0135]如果存在與提取的應(yīng)用程序名相同的應(yīng)用程序白名單,判斷所述應(yīng)用程序白名單下是否存在與提取的窗口類名相同的窗口類名白名單;
[0136]如果存在與提取的窗口類名相同的窗口類名白名單,判斷所述窗口類名白名單下是否存在與提取的窗口名相同的窗口名白名單,如果存在,確認(rèn)獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配。
[0137]本實(shí)施例中,作為一可選實(shí)施例,該裝置還包括:
[0138]彈窗緩存模塊34,用于獲取待創(chuàng)建的彈窗的窗口信息;如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,緩存所述待創(chuàng)建的彈窗的窗口信息;監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);如果所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的所有工作狀態(tài)都不匹配,依據(jù)緩存的所述窗口信息創(chuàng)建彈窗。
[0139]本實(shí)施例中,作為一可選實(shí)施例,在用戶處于工作狀態(tài)的條件下,如果有第三方應(yīng)用程序調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為,可以緩存待創(chuàng)建的彈窗的窗口信息,以在用戶處于非工作狀態(tài)的條件下時(shí),依據(jù)緩存的窗口信息創(chuàng)建彈窗,從而便于用戶瀏覽,避免漏失重要的增值業(yè)務(wù)信息。
[0140]本實(shí)施例中,作為一可選實(shí)施例,彈窗緩存模塊34包括:窗口信息獲取單元、緩存單元、當(dāng)前運(yùn)行狀態(tài)監(jiān)測(cè)單元以及彈窗創(chuàng)建單元(圖中未示出),其中,
[0141]窗口信息獲取單元,用于獲取待創(chuàng)建的彈窗的窗口信息;
[0142]緩存單元,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,緩存所述待創(chuàng)建的彈窗的窗口信息;
[0143]當(dāng)前運(yùn)行狀態(tài)監(jiān)測(cè)單元,用于監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài);
[0144]彈窗創(chuàng)建單元,如果所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的所有工作狀態(tài)都不匹配,依據(jù)緩存的所述窗口信息創(chuàng)建彈窗。
[0145]作為另一可選實(shí)施例,該裝置還包括:
[0146]工作狀態(tài)不匹配處理模塊35,用于在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)都不匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,獲取待創(chuàng)建的彈窗的窗口信息;如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,依據(jù)所述窗口信息創(chuàng)建彈窗。
[0147]本實(shí)施例中,作為一可選實(shí)施例,工作狀態(tài)不匹配處理模塊35包括:創(chuàng)建彈窗監(jiān)測(cè)單元、信息獲取單元以及彈窗創(chuàng)建單元(圖中未示出),其中,
[0148]創(chuàng)建彈窗監(jiān)測(cè)單元,用于在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)都不匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為;
[0149]信息獲取單元,如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,獲取待創(chuàng)建的彈窗的窗口信息;
[0150]彈窗創(chuàng)建單元,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,依據(jù)所述窗口信息創(chuàng)建彈窗。
[0151 ]作為另一可選實(shí)施例,工作狀態(tài)不匹配處理模塊35還包括:
[0152]創(chuàng)建拒絕單元,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的所有彈窗白名單都不匹配,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。
[0153]作為再一可選實(shí)施例,該裝置還包括:
[0154]鉤子程序注入模塊36,用于在操作系統(tǒng)加載用于攔截創(chuàng)建彈窗的彈窗鉤子程序;啟動(dòng)所述彈窗鉤子程序。
[0155]本實(shí)施例中,可以通過(guò)調(diào)用Windows操作系統(tǒng)的SetWindowsHookEx接口來(lái)加載彈窗鉤子程序。
[0156]本實(shí)施例的裝置,可以用于執(zhí)行圖1和圖2所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0157]需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0158]本說(shuō)明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。
[0159]尤其,對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。
[0160]在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說(shuō)明書而言,〃計(jì)算機(jī)可讀介質(zhì)〃可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀存儲(chǔ)器(ROM),可擦除可編輯只讀存儲(chǔ)器(EPR0M或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤只讀存儲(chǔ)器(CDR0M)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^(guò)對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來(lái)以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。
[0161]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。
[0162]在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場(chǎng)可編程門陣列(FPGA)等。
[0163]本發(fā)明實(shí)施例還提供一種電子設(shè)備,所述電子設(shè)備包含前述任一實(shí)施例所述的裝置。
[0164]圖4為本發(fā)明電子設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,可以實(shí)現(xiàn)本發(fā)明圖1-3所示實(shí)施例的流程,如圖4所示,上述電子設(shè)備可以包括:殼體41、處理器42、存儲(chǔ)器43、電路板44和電源電路45,其中,電路板44安置在殼體41圍成的空間內(nèi)部,處理器42和存儲(chǔ)器43設(shè)置在電路板44上;電源電路45,用于為上述電子設(shè)備的各個(gè)電路或器件供電;存儲(chǔ)器43用于存儲(chǔ)可執(zhí)行程序代碼;處理器42通過(guò)讀取存儲(chǔ)器43中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與可執(zhí)行程序代碼對(duì)應(yīng)的程序,用于執(zhí)行前述任一實(shí)施例所述的處理彈窗的方法。
[0165]處理器42對(duì)上述步驟的具體執(zhí)行過(guò)程以及處理器42通過(guò)運(yùn)行可執(zhí)行程序代碼來(lái)進(jìn)一步執(zhí)行的步驟,可以參見本發(fā)明圖1-3所示實(shí)施例的描述,在此不再贅述。
[0166]該電子設(shè)備以多種形式存在,包括但不限于:
[0167](I)移動(dòng)通信設(shè)備:這類設(shè)備的特點(diǎn)是具備移動(dòng)通信功能,并且以提供話音、數(shù)據(jù)通信為主要目標(biāo)。這類終端包括:智能手機(jī)(例如iPhone)、多媒體手機(jī)、功能性手機(jī),以及低端手機(jī)等。
[0168](2)超移動(dòng)個(gè)人計(jì)算機(jī)設(shè)備:這類設(shè)備屬于個(gè)人計(jì)算機(jī)的范疇,有計(jì)算和處理功能,一般也具備移動(dòng)上網(wǎng)特性。這類終端包括:PDA、MID和UMPC設(shè)備等,例如iPad。
[0169](3)便攜式娛樂(lè)設(shè)備:這類設(shè)備可以顯示和播放多媒體內(nèi)容。該類設(shè)備包括:音頻、視頻播放器(例如iPod),掌上游戲機(jī),電子書,以及智能玩具和便攜式車載導(dǎo)航設(shè)備。
[0170](4)服務(wù)器:提供計(jì)算服務(wù)的設(shè)備,服務(wù)器的構(gòu)成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,服務(wù)器和通用的計(jì)算機(jī)架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴(kuò)展性、可管理性等方面要求較高。
[0171 ] (5)其他具有數(shù)據(jù)交互功能的電子設(shè)備。
[0172]本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
[0173]為了描述的方便,描述以上裝置是以功能分為各種單元/模塊分別描述。當(dāng)然,在實(shí)施本發(fā)明時(shí)可以把各單元/模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
[0174]通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本
[0175]發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0176]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種處理彈窗的方法,其特征在于,包括: 監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài); 在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)相匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為; 如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。2.根據(jù)權(quán)利要求1所述的處理彈窗的方法,其特征在于,在所述如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為之后,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗之前,所述該方法還包括: 獲取待創(chuàng)建的彈窗的窗口信息,依據(jù)所述窗口信息判斷應(yīng)用程序編程接口待創(chuàng)建的彈窗是否為置頂彈窗,如果是,執(zhí)行所述拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗的步驟;如果不是,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,允許所述應(yīng)用程序編程接口創(chuàng)建彈窗。3.根據(jù)權(quán)利要求2所述的處理彈窗的方法,其特征在于,在所述如果是之后,執(zhí)行所述拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗的步驟之前,所述該方法還包括: 判斷獲取的所述窗口信息是否與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,且所述窗口信息中是否攜帶有實(shí)時(shí)增值業(yè)務(wù)信息,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,且所述窗口信息中攜帶有實(shí)時(shí)增值業(yè)務(wù)信息,允許所述應(yīng)用程序編程接口創(chuàng)建彈窗;否則,執(zhí)行所述拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗的步驟。4.根據(jù)權(quán)利要求3所述的處理彈窗的方法,其特征在于,所述如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配包括: 提取所述窗口信息中包含的窗口名、窗口類名以及應(yīng)用程序名; 查詢預(yù)先設(shè)置的彈窗白名單庫(kù),判斷是否存在與提取的應(yīng)用程序名相同的應(yīng)用程序白名單; 如果存在與提取的應(yīng)用程序名相同的應(yīng)用程序白名單,判斷所述應(yīng)用程序白名單下是否存在與提取的窗口類名相同的窗口類名白名單; 如果存在與提取的窗口類名相同的窗口類名白名單,判斷所述窗口類名白名單下是否存在與提取的窗口名相同的窗口名白名單,如果存在,確認(rèn)獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配。5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的處理彈窗的方法,其特征在于,在拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗之后,所述方法還包括: 獲取待創(chuàng)建的彈窗的窗口信息; 如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,緩存所述待創(chuàng)建的彈窗的窗口信息; 監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài); 如果所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的所有工作狀態(tài)都不匹配,依據(jù)緩存的所述窗口信息創(chuàng)建彈窗。6.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的處理彈窗的方法,其特征在于,所述方法還包括: 在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)都不匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為; 如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,獲取待創(chuàng)建的彈窗的窗口信息; 如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,依據(jù)所述窗口信息創(chuàng)建彈窗。7.根據(jù)權(quán)利要求6所述的處理彈窗的方法,其特征在于,在所述如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,獲取待創(chuàng)建的彈窗的窗口信息之后,所述方法還包括: 如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的所有彈窗白名單都不匹配,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。8.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的處理彈窗的方法,其特征在于,所述工作狀態(tài)庫(kù)包括:電子設(shè)備處于外接顯示器狀態(tài)、電子設(shè)備處于全屏模式狀態(tài)、非全屏模式狀態(tài)下有預(yù)先設(shè)置的應(yīng)用程序運(yùn)行狀態(tài)。9.一種處理彈窗的裝置,其特征在于,包括:運(yùn)行狀態(tài)監(jiān)測(cè)模塊、工作狀態(tài)匹配模塊以及調(diào)用行為監(jiān)測(cè)模塊,其中, 運(yùn)行狀態(tài)監(jiān)測(cè)模塊,用于監(jiān)測(cè)電子設(shè)備的當(dāng)前運(yùn)行狀態(tài); 工作狀態(tài)匹配模塊,用于在所述當(dāng)前運(yùn)行狀態(tài)與預(yù)先設(shè)置的工作狀態(tài)庫(kù)中的任一工作狀態(tài)相匹配的條件下,監(jiān)測(cè)調(diào)用創(chuàng)建彈窗的應(yīng)用程序編程接口的行為; 調(diào)用行為監(jiān)測(cè)模塊,如果監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為,拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗。10.根據(jù)權(quán)利要求9所述的處理彈窗的裝置,其特征在于,所述調(diào)用行為監(jiān)測(cè)模塊包括:調(diào)用行為監(jiān)測(cè)單元、置頂彈窗判斷單元、調(diào)用行為拒絕單元以及調(diào)用行為允許單元,其中, 調(diào)用行為監(jiān)測(cè)單元,用于在監(jiān)測(cè)到調(diào)用應(yīng)用程序編程接口的行為后,通知置頂彈窗判斷單元; 置頂彈窗判斷單元,用于獲取待創(chuàng)建的彈窗的窗口信息,依據(jù)所述窗口信息判斷應(yīng)用程序編程接口待創(chuàng)建的彈窗是否為置頂彈窗,如果是,通知調(diào)用行為拒絕單元;如果不是,通知調(diào)用行為允許單元; 調(diào)用行為拒絕單元,用于拒絕所述應(yīng)用程序編程接口創(chuàng)建彈窗; 調(diào)用行為允許單元,如果獲取的所述窗口信息與預(yù)先設(shè)置的彈窗白名單庫(kù)中的任一彈窗白名單相匹配,允許所述應(yīng)用程序編程接口創(chuàng)建彈窗。
【文檔編號(hào)】G06F11/30GK105975380SQ201610363754
【公開日】2016年9月28日
【申請(qǐng)日】2016年5月26日
【發(fā)明人】郭滔, 許昆, 王媚
【申請(qǐng)人】北京金山安全軟件有限公司