一種屏幕控制方法及終端與流程
2023-05-16 08:49:17
本發明實施例屬於電子技術領域,尤其涉及一種屏幕控制方法及終端。
背景技術:
隨著智能終端的不斷普及,安裝在智能終端上的各種應用軟體也給用戶的日常生活帶來了極大便利,通常應用軟體在接收到網絡伺服器發送的推送消息時,都會喚醒處於休眠或待機狀態的智能終端,觸發智能終端的屏幕點亮,從而通過智能終端的屏幕將推送消息顯示給用戶。
然而,當用戶暫時不需要查看推送消息時,例如將智能終端反扣在桌面上或者放置在背包、口袋中,若接收到推送消息即喚醒智能終端,觸發智能終端的屏幕點亮,則會嚴重浪費智能終端的電能。
技術實現要素:
本發明實施例提供一種屏幕控制方法及終端,可以在終端屏幕被遮擋,用戶暫時不需要查看網絡推送消息時,不響應應用軟體發送的亮屏請求,繼續保持黑屏狀態,有效節省電能。
本發明實施例一方面提供一種屏幕控制方法,其包括:
若接收到應用發送的亮屏請求且當前處於黑屏狀態,則檢測所述亮屏請求對應的喚醒源是否為網絡喚醒源;
若所述喚醒源為網絡喚醒源,則檢測屏幕是否處於被遮擋狀態;
若所述屏幕處於被遮擋狀態,則不響應所述亮屏請求。
本發明實施例另一方面還提供一種終端,其包括:
喚醒源檢測單元,用於若接收到應用發送的亮屏請求且當前處於黑屏狀態,則檢測所述亮屏請求對應的喚醒源是否為網絡喚醒源;
狀態檢測單元,用於若所述喚醒源為網絡喚醒源,則檢測屏幕是否處於被遮擋狀態;
屏幕控制單元,用於若所述屏幕處於被遮擋狀態,則不響應所述亮屏請求。
本發明實施例通過可以在終端屏幕被遮擋,用戶暫時不需要查看網絡推送消息時,不響應應用軟體發送的亮屏請求,繼續保持黑屏狀態,可以有效節省電能。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明的一個實施例提供的屏幕控制方法的流程框圖;
圖2是本發明的一個實施例提供的屏幕控制方法的流程框圖;
圖3是本發明的一個實施例提供的屏幕控制方法的流程框圖;
圖4是本發明的一個實施例提供的終端的結構框圖;
圖5是本發明的一個實施例提供的終端的結構框圖;
圖6是本發明的一個實施例提供的終端的結構框圖;
圖7是本發明的一個實施例提供的終端的結構框圖。
具體實施方式
為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚地描述,顯然,所描述的實施例是本發明一部分的實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本發明保護的範圍。
本發明的說明書和權利要求書及上述附圖中的術語「包括」以及它們任何變形,意圖在於覆蓋不排他的包含。例如包含一系列步驟或單元的過程、方法或系統、產品或設備沒有限定於已列出的步驟或單元,而是可選地還包括沒有列出的步驟或單元,或可選地還包括對於這些過程、方法、產品或設備固有的其它步驟或單元。此外,術語「第一」、「第二」和「第三」等是用於區別不同對象,而非用於描述特定順序。
如圖1所示,本發明的一個實施例提供一種屏幕控制方法,其包括:
步驟S10:若接收到應用發送的亮屏請求且當前處於黑屏狀態,則檢測所述亮屏請求對應的喚醒源是否為網絡喚醒源。
本實施例中,網絡喚醒源具體是指通過網絡數據來喚醒屏幕進入工作狀態的軟體或硬體。在實際應用中,可通過終端的底層硬體來檢測喚醒源,喚醒源具體可以是網絡伺服器或者終端上的機械或虛擬按鍵。屏幕處於工作狀態包括但不限於使屏幕點亮。亮屏請求是通過喚醒源喚醒屏幕之後,終端上安裝的應用發送的亮屏請求。
在實際應用中,應用發出亮屏請求的原理為:應用通過終端的無線通信硬體接收網絡伺服器發送推送消息,然後根據該推送消息發出亮屏請求,觸發屏幕點亮。
在一個實施例中,步驟S10之前包括:
步驟S11:構建用於控制屏幕點亮或熄滅的電源管理服務。
在實際應用中,當終端的電源管理服務已經被構建之後,下次則可以直接啟用電源管理服務,不需要每次都重新構建。
步驟S12:啟動電源管理服務;
步驟S13:檢測是否接收到應用發送的亮屏請求;
步驟S14:若接收到所述亮屏請求,則判斷當前是否處於黑屏狀態;
步驟S15:若接收到應用發送的亮屏請求且當前不處於黑屏狀態,則返回步驟S13。
在一個實施例中,步驟S10之後還包括:
步驟S16:若所述喚醒源不是網絡喚醒源,則返回步驟S13。
步驟S20:若所述喚醒源為網絡喚醒源,則檢測屏幕是否處於被遮擋狀態。
在實際應用中,可以通過檢測屏幕當前所處環境的多種參數來判斷屏幕是否處於被遮擋狀態,例如,通過檢測屏幕與遮擋物之間的距離或屏幕表面的光照度來實現。
在一個實施例中,步驟S20之後還包括:
若所述屏幕不處於被遮擋狀態,則響應所述亮屏請求,控制所述屏幕點亮。
步驟S30:若所述屏幕處於被遮擋狀態,則不響應所述亮屏請求。
在實際應用中,不響應所述亮屏請求是指不控制屏幕點亮。
本實施例通過檢測亮屏請求所對應的喚醒源是否為網絡喚醒源,並在該喚醒源為網絡喚醒源時檢測屏幕是否處於被遮擋狀態,若屏幕處於被遮擋狀態,則不響應亮屏請求,可以在用戶將終端放置在包、口袋或者倒扣於桌面等暫時不查看網絡推送消息的情況發生時,控制屏幕保持黑屏狀態,以達到節省電能的目的。
如圖2所示,在本發明的一個實施例中,圖1所對應的實施例中的步驟S20包括:
步驟S21:若所述喚醒源為網絡喚醒源,則檢測屏幕與遮擋物之間的距離;
步驟S22:判斷所述距離是否大於第一距離閾值,若是,則判定所述屏幕不處於被遮擋狀態,否則,判定所述屏幕處於被遮擋狀態。
在實際應用中,所述第一距離閾值具體可以根據實際需要進行設置,可以通過距離傳感器來檢測所述距離。
在本發明的一個實施例中,圖1所對應的實施例中的步驟S20包括:
步驟S210:若所述喚醒源為網絡喚醒源,則檢測屏幕表面的光照度;
步驟S220:判斷所述光照度是否大於第一照度閾值,若是,則判定所述屏幕不處於被遮擋狀態,否則,判定所述屏幕處於被遮擋狀態。
在實際應用中,所述第一照度閾值具體可以根據實際需要進行設置,可以通過照度計來檢測所述光照度。
如圖3所示,在本發明的一個實施例中,圖1所對應的實施例中的步驟S20包括:
步驟S201:若所述喚醒源為網絡喚醒源,則電源管理服務在後臺啟動距離檢測進程,並通過所述距離檢測進程控制距離檢測硬體檢測屏幕與遮擋物之間的距離;
步驟S202:所述電源管理服務判斷所述距離是否大於第二距離閾值,若是,則判定所述屏幕不處於被遮擋狀態,否則,判定所述屏幕處於被遮擋狀態;
步驟S203:所述電源管理服務向活動管理服務發出表示判斷結果的第一標誌。
在實際應用中,距離檢測硬體具體可以選用距離傳感器。
在一個實施例中,步驟S203之後包括:
步驟S204:所述電源管理服務通過所述距離檢測進程控制所述距離檢測硬體停止工作,並在後臺關閉所述距離檢測進程。
如圖3所示,在本實施例中,圖1所對應的實施例中的步驟S30包括:
步驟S301:所述活動管理服務接收所述第一標誌;
步驟S302:若所述第一標誌表示的判斷結果為所述屏幕處於被遮擋狀態,則所述活動管理服務不響應所述亮屏請求。
在實際應用中,活動管理服務可以根據其接收到的第一標誌的值的真假來判斷所述屏幕是否處於被遮擋狀態,若所述第一標誌的值為真,則判定所述屏幕處於被遮擋狀態;否則,判定所述屏幕不處於被遮擋狀態。
在一個實施例中,步驟S301之後還包括:
步驟S303:若所述第一標誌表示的判斷結果為所述屏幕不處於被遮擋狀態,則所述活動管理服務回調所述電源管理服務;
步驟S304:所述電源管理服務在後臺啟動亮屏進程,通過所述亮屏進程控制所述屏幕點亮。
在本發明的一個實施例中,圖1所對應的實施例中的步驟S20包括:
步驟S2001:若所述喚醒源為網絡喚醒源,則電源管理服務在後臺啟動照度檢測進程,並通過所述照度檢測進程控制照度離檢測硬體檢測屏幕表面的光照度;
步驟S2002:所述電源管理服務判斷所述照度是否大於第二照度閾值,若是,則判定所述屏幕不處於被遮擋狀態,否則,判定所述屏幕處於被遮擋狀態;
步驟S2003:所述電源管理服務向活動管理服務發出表示判斷結果的第二標誌。
在實際應用中,照度檢測硬體具體可以選用照度計。
在一個實施例中,步驟S2003之後包括:
步驟S2004:所述電源管理服務通過所述照度檢測進程控制所述照度檢測硬體停止工作,並在後臺關閉所述照度檢測進程。
在一個實施例中,圖1所對應的實施例中的步驟S30包括:
步驟S3001:所述活動管理服務接收所述第二標誌;
步驟S3002:若所述第二標誌表示的判斷結果為所述屏幕處於被遮擋狀態,則所述活動管理服務不響應所述亮屏請求。
在實際應用中,活動管理服務可以根據其接收到的第二標誌的值的真假來判斷所述屏幕是否處於被遮擋狀態,若所述第二標誌的值為真,則判定所述屏幕處於被遮擋狀態;否則,判定所述屏幕不處於被遮擋狀態。
在一個實施例中,步驟S3001之後還包括:
步驟S3003:若所述第二標誌表示的判斷結果為所述屏幕不處於被遮擋狀態,則所述活動管理服務回調所述電源管理服務;
步驟S3004:所述電源管理服務在後臺啟動亮屏進程,通過所述亮屏進程控制所述屏幕點亮。
如圖4所示,本發明的一個實施例提供一種終端100,用於執行圖1所對應的實施例中的方法步驟,其包括:
喚醒源檢測單元10,用於若接收到應用發送的亮屏請求且當前處於黑屏狀態,則檢測所述亮屏請求對應的喚醒源是否為網絡喚醒源;
狀態檢測單元20,用於若所述喚醒源為網絡喚醒源,則檢測屏幕是否處於被遮擋狀態;
屏幕控制單元30,用於若所述屏幕處於被遮擋狀態,則不響應所述亮屏請求。
在一個實施例中,終端100還包括:
構建單元,用於構建用於控制屏幕點亮或熄滅的電源管理服務。
啟動單元,用於啟動電源管理服務;
請求檢測單元,用於檢測是否接收到應用發送的亮屏請求;
狀態判斷單元,用於若接收到所述亮屏請求,則判斷當前是否處於黑屏狀態;
喚醒源檢測單元10還用於若接收到應用發送的亮屏請求且當前不處於黑屏狀態,則返回請求檢測單元。
在一個實施例中,喚醒源檢測單元10還用於若所述喚醒源不是網絡喚醒源,則返回請求檢測單元。
在一個實施例中,屏幕控制單元30還用於若所述屏幕不處於被遮擋狀態,則響應所述亮屏請求,控制所述屏幕點亮。
本實施例通過檢測亮屏請求對應的喚醒源是否為網絡喚醒源,並在該喚醒源為網絡喚醒源時檢測屏幕是否處於被遮擋狀態,若屏幕處於被遮擋狀態,則不響應亮屏請求,可以在用戶將終端放置在包、口袋或者倒扣於桌面等暫時不查看網絡推送消息的情況發生時,控制屏幕保持黑屏狀態,以達到節省電能的目的。
如圖5所示,在本發明的一個實施例中,圖4所示的終端100中的狀態檢測單元20包括:
第一檢測單元21,用於若所述喚醒源為網絡喚醒源,則檢測屏幕與遮擋物之間的距離;
第一判斷單元22,用於判斷所述距離是否大於第一距離閾值,若是,則判定所述屏幕不處於被遮擋狀態,否則,判定所述屏幕處於被遮擋狀態。
在實際應用中,第一檢測單元21具體可以選用距離傳感器。
在本發明的一個實施例中,狀態檢測單元20還包括:
第二檢測單元,用於若所述喚醒源為網絡喚醒源,則檢測屏幕表面的光照度;
第二判斷單元,用於判斷所述光照度是否大於第一照度閾值,若是,則判定所述屏幕不處於被遮擋狀態,否則,判定所述屏幕處於被遮擋狀態。
在實際應用中,第二檢測單元具體可以選用照度計。
如圖6所示,在本發明的一個實施例中,圖4所示的終端100中的狀態檢測單元20包括:
距離檢測單元201,用於若所述喚醒源為網絡喚醒源,則電源管理服務在後臺啟動距離檢測進程,並通過所述距離檢測進程控制距離檢測硬體檢測屏幕與遮擋物之間的距離;
距離判斷單元202,用於所述電源管理服務判斷所述距離是否大於第二距離閾值,若是,則判定所述屏幕不處於被遮擋狀態,否則,判定所述屏幕處於被遮擋狀態;
第一標誌發送單元203,用於所述電源管理服務向活動管理服務發出表示判斷結果的第一標誌;
屏幕控制單元30,包括:
第一標誌接收單元301,用於所述活動管理服務接收所述第一標誌;
第一控制單元302,用於若所述第一標誌表示的判斷結果為所述屏幕處於被遮擋狀態,則不響應所述亮屏請求。
在一個實施例中,狀態檢測單元20還包括:
第二控制單元,用於所述電源管理服務通過所述距離檢測進程控制所述距離檢測硬體停止工作,並在後臺關閉所述距離檢測進程。
在一個實施例中,屏幕控制單元30還包括:
第一回調單元,用於若所述第一標誌表示的判斷結果為所述屏幕不處於被遮擋狀態,則所述活動管理服務回調所述電源管理服務;
第三控制單元,用於所述電源管理服務在後臺啟動亮屏進程,通過所述亮屏進程控制所述屏幕點亮。
在本發明的一個實施例中,圖4所示的終端100中的狀態檢測單元20包括:
照度檢測單元,用於若所述喚醒源為網絡喚醒源,則電源管理服務在後臺啟動照度檢測進程,並通過所述照度檢測進程控制照度離檢測硬體檢測屏幕表面的光照度;
照度判斷單元,用於所述電源管理服務判斷所述照度是否大於第二照度閾值,若是,則判定所述屏幕不處於被遮擋狀態,否則,判定所述屏幕處於被遮擋狀態;
第二標誌發送單元,用於所述電源管理服務向活動管理服務發出表示判斷結果的第二標誌。
在實際應用中,照度檢測硬體具體可以選用照度計。
在一個實施例中,狀態檢測單元20還包括:
第四控制單元,還用於所述電源管理服務通過所述照度檢測進程控制所述照度檢測硬體停止工作,並在後臺關閉所述照度檢測進程。
在一個實施例中,屏幕控制單元30還包括:
第二標誌接收單元,用於所述活動管理服務接收所述第二標誌;
第五控制單元,用於若所述第二標誌表示的判斷結果為所述屏幕處於被遮擋狀態,則所述活動管理服務不響應所述亮屏請求。
在實際應用中,活動管理服務可以根據其接收到的第二標誌的值的真假來判斷所述屏幕是否處於被遮擋狀態,若所述第二標誌的值為真,則判定所述屏幕處於被遮擋狀態;否則,判定所述屏幕不處於被遮擋狀態。
在一個實施例中,屏幕控制單元30還包括:
第二回調單元,用於若所述第二標誌表示的判斷結果為所述屏幕不處於被遮擋狀態,則所述活動管理服務回調所述電源管理服務;
第六控制單元,用於所述電源管理服務在後臺啟動亮屏進程,通過所述亮屏進程控制所述屏幕點亮。
如圖7所示,本發明的一個實施例提供一種終端100,用於執行圖1所對應的實施例中的方法步驟,其包括:
處理器(processor)110,通信接口(Communications Interface)120,存儲器(memory)130,總線140、顯示屏150和距離傳感器160。
處理器110,通信接口120,存儲器130,顯示屏150和距離傳感器160通過總線140完成相互間的通信。
通信接口120,用於與外界設備,例如,個人電腦、智慧型手機等通信。
處理器110,用於執行程序131;
具體地,程序131可以包括程序代碼,所述程序代碼包括計算機操作指令。
處理器110可能是一個中央處理器CPU,或者是特定集成電路ASIC(Application Specific Integrated Circuit),或者是被配置成實施本發明實施例的一個或多個集成電路。
存儲器130,用於存放程序131。存儲器130可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁碟存儲器。程序131具體可以包括:
喚醒源檢測單元1311,用於若接收到應用發送的亮屏請求且當前處於黑屏狀態,則檢測所述亮屏請求對應的喚醒源是否為網絡喚醒源;
狀態檢測單元1312,用於若所述喚醒源為網絡喚醒源,則檢測屏幕是否處於被遮擋狀態;
屏幕控制單元1313,用於若所述屏幕處於被遮擋狀態,則不響應所述亮屏請求。
在一個實施例中,程序131具體還可以包括:
第一檢測單元,用於檢測屏幕與遮擋物之間的距離;
第一判斷單元,用於判斷所述距離是否大於第一距離閾值,若是,則判定所述屏幕不處於被遮擋狀態,否則,判定所述屏幕處於被遮擋狀態。
在一個實施例中,程序131具體還可以包括:
距離檢測單元,用於電源管理服務在後臺啟動距離檢測進程,並通過所述距離檢測進程控制距離檢測硬體檢測屏幕與遮擋物之間的距離;
距離判斷單元,用於所述電源管理服務判斷所述距離是否大於第二距離閾值,若是,則判定所述屏幕不處於被遮擋狀態,否則,判定所述屏幕處於被遮擋狀態;
第一標誌發送單元,用於所述電源管理服務向活動管理服務發出表示判斷結果的第一標誌;
第一標誌接收單元,用於所述活動管理服務接收所述第一標誌;
第一控制單元,用於若所述第一標誌表示的判斷結果為所述屏幕處於被遮擋狀態,則不響應所述亮屏請求。
在一個實施例中,程序131具體還可以包括:
第二控制單元,用於所述電源管理服務通過所述距離檢測進程控制所述距離檢測硬體停止工作,並在後臺關閉所述距離檢測進程。
在一個實施例中,程序131具體還可以包括:
第一回調單元,用於若所述第一標誌表示的判斷結果為所述屏幕不處於被遮擋狀態,則所述活動管理服務回調所述電源管理服務;
第三控制單元,用於所述電源管理服務在後臺啟動亮屏進程,通過所述亮屏進程控制所述屏幕點亮。
本發明所有實施例中的單元,可以通過通用集成電路,例如CPU(Central Processing Unit,中央處理器),或通過ASIC(Application Specific Integrated Circuit,專用集成電路)來實現。
本發明實施例方法中的步驟可以根據實際需要進行順序調整、合併和刪減。
本發明實施例終端中的單元可以根據實際需要進行合併、劃分和刪減。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程序可存儲於一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。