專利名稱:一種終端電池溫度監測方法和裝置及終端的制作方法
技術領域:
本發明實施例涉及終端技術領域,具體涉及一種終端電池溫度監測方法和裝置,以及一種終端。
背景技術:
隨著移動互聯網的興起,越來越多的用戶選擇了智能移動終端。現在的智能移動終端發展迅速,性能越來越強、屏幕尺寸越來越大、設備尺寸越來越薄,為了支撐更強的性能和更大的屏幕,一般都會配備更大容量的電池。由于電池在使用過程中會產生熱量,但是較薄的終端機身尺寸不利于散熱,從而導致電池溫度上升。特別是使用者在玩手機游戲的時候,這個情況更為突出,溫度上升會影響終端的性能,甚至在極端情況下可能出現過熱而導致爆炸。針對上述情況,目前還沒有提出一種有效地解決上述問題的方法。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的一種終端電池溫度監測方法和裝置,以及一種終端。根據本發明的一個方面,提供了一種終端電池溫度監測方法,包括分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑;其中,所述電池溫度數據是系統預先調用驅動程序通知操作系統寫入到文件中的數據;讀取所述文件路徑對應的文件內容;從所述文件內容中提取所述電池溫度數據。本發明實施例中,溫度傳感器數據感測到的電池溫度所在文件的文件路徑包括多個文件路徑,所述讀取所述文件路徑對應的文件內容,包括依次從所述多個文件路徑下讀取對應的文件內容,所述依次讀取為按照預先設置的順序遍歷讀取;依次讀取時,當從任何一個文件路徑下讀取到文件內容時,停止讀取下一個文件路徑對應的文件內容。本發明實施例中,依次讀取時,當從任何一個文件路徑讀取到文件內容時,停止讀取下一個文件路徑對應的文件內容,包括當所述任何一個文件路徑對應的文件內容讀取成功時,判斷所述任何一個文件路徑對應的文件內容是否為空內容;當所述文件內容不為空內容時,停止讀取下一個文件路徑對應的文件內容。本發明實施例中,讀取所述文件路徑對應的文件內容,還包括依次讀取時,當所述任何一個文件路徑對應的文件內容讀取失敗,或者所述任何一個文件路徑對應的文件內容為空內容時,繼續讀取下一個文件路徑對應的文件內容。
本發明實施例中,依次從所述多個文件路徑下讀取對應的文件內容,包括調用信息讀取ReadInfo函數,依次將所述多個文件路徑作為參數傳遞給所述ReadInfo 函數;接收所述ReadInfo函數的返回值,所述返回值為所述文件路徑對應的文件內容。本發明實施例中,在安卓操作系統中,所述多個文件路徑包括文件路徑/sys/class/hwmon/hwmonO/device/templ_input> 文 件路徑 /sys/class/power_supply/battery/temp 和文件路徑 /sys/class/power_supply/battery/batt_temp。本發明實施例中,終端電池溫度監測方法還包括當檢測到電池的狀態發生變化時,監聽終端操作系統發出的廣播事件;讀取所述廣播事件的附加數據,并從所述附加數據中提取電池溫度數據。本發明實施例中,電池的狀態發生變化包括充電開始、充電完成、或者電池的電量變化量達到預設的閾值。本發明實施例中,終端電池溫度監測方法還包括將提取的電池溫度數據與預設的溫度范圍進行比較;當所述電池溫度數據在所述溫度范圍之內時,確定所述在溫度范圍之內的電池溫度數據為終端的電池溫度數據; 當所述電池溫度數據超出所述溫度范圍時,將所述電池溫度數據轉換成在所述溫度范圍之內的溫度數據,并將轉換后的電池溫度數據作為終端的電池溫度數據。根據本發明的另一方面,提供了一種終端電池溫度監測裝置,包括路徑分析模塊,適于分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑;其中,所述電池溫度數據是系統預先調用驅動程序通知操作系統寫入到文件中的數據;溫度讀取模塊,適于讀取所述文件路徑對應的文件內容;第一提取模塊,適于從所述文件內容中提取所述電池溫度數據。本發明實施例中,溫度傳感器感測到的電池溫度數據所在文件的文件路徑包括多個文件路徑,所述溫度讀取模塊依次從所述多個文件路徑下讀取對應的文件內容,在依次讀取時,當從任何一個文件路徑下讀取到文件內容時,停止讀取下一個文件路徑對應的文件內容,其中,所述依次讀取為按照預先設置的順序遍歷讀取。本發明實施例中,溫度讀取模塊包括判斷子模塊,適于當所述任何一個文件路徑對應的文件內容讀取成功時,判斷所述任何一個文件路徑對應的文件內容是否為空內容;停止讀取子模塊,適于當判斷子單元判斷出所述文件內容不為空內容時,停止讀取下一個文件路徑對應的文件內容。 本發明實施例中,溫度讀取模塊還包括繼續讀取子模塊,適于在依次讀取時,當所述任何一個文件路徑對應的文件內容讀取失敗,或者所述任何一個文件路徑對應的文件內容為空內容時,繼續讀取下一個文件路徑對應的文件內容。本發明實施例中,溫度讀取模塊包括
調用子模塊,適于調用信息讀取ReadInfo函數,依次將所述多個文件路徑作為參數傳遞給所述ReadInfo函數;接收子模塊,適于接收所述ReadInfo函數的返回值,所述返回值為所述文件路徑對應的文件內容。本發明實施例中,在安卓操作系統中,所述多個文件路徑包括文件路徑/sys/class/hwmon/hwmonO/device/templ_input> 文 件路徑 /sys/class/power_supply/battery/temp 和文件路徑 /sys/class/power_supply/battery/batt_temp。本發明實施例中,終端電池溫度監測裝置還包括第二提取模塊,適于當檢測到電池的狀態發生變化時,監聽終端操作系統發出的廣播事件,讀取所述廣播事件的附加數據,并從所述附加數據中提取電池溫度數據。本發明實施例中,電池的狀態發生變化包括充電開始、充電完成、或者電池的電量變化量達到預設的閾值。 本發明實施例中,終端電池溫度監測裝置還包括比較模塊,適于將提取的電池溫度數據與預設的溫度范圍進行比較;確定模塊,適于當比較模塊的比較結果為所述電池溫度數據在所述溫度范圍之內時,確定所述在溫度范圍之內的電池溫度數據為終端的電池溫度數據;轉換模塊,適于當比較模塊的比較結果為所述電池溫度數據超出所述溫度范圍時,將所述電池溫度數據轉換成在所述溫度范圍之內的溫度,并將轉換后的電池溫度數據作為終端的電池溫度數據。根據本發明的另一方面,提供了一種終端,包括CPU、電池、溫度傳感器、存儲器,以及如上所述的終端電池溫度監測裝置。根據本發明實施例的終端電池溫度監測方法和裝置,可以分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑,并且讀取所述文件路徑對應的文件內容,這些文件路徑為通過對系統底層源碼進行分析得出的對應溫度傳感器數據所在文件的文件路徑,因此從所述文件內容中可以直接提取終端的電池溫度數據。由此解決了由于無法獲取當前的電池溫度數據,致使電池溫度過高而影響終端性能的問題,取得了能夠及時準確地讀取電池溫度數據,減少對終端性能的影響的有益效果。上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發明的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本發明的具體實施方式
。
通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖1示出了根據本發明一個實施例的一種終端電池溫度監測方法的流程圖;圖2示出了根據本發明一個具體實施例的一種終端電池溫度監測方法的流程圖;圖3示出了根據本發明一個實施例的一種終端電池溫度監測裝置的結構框圖;圖4示出了根據本發明一個實施例的一種終端電池溫度顯示方法的流程圖5示出了本發明實施例所述的電池溫度顯示的界面圖;以及圖6示出了根據本發明一個實施例的一種終端電池溫度顯示裝置的結構框圖。
具體實施例方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。本發明實施例可以應用于計算機系統/服務器,其可與眾多其它通用或專用計算系統環境或配置一起操作。適于與計算機系統/服務器一起使用的眾所周知的計算系統、環境和/或配置的例子包括但不限于個人計算機系統、服務器計算機系統、瘦客戶機、厚客戶機、手持或膝上設備、基于微處理器的系統、機頂盒、可編程消費電子產品、網絡個人電腦、小型計算機系統、大型計算機系統和包括上述任何系統的分布式云計算技術環境,等
坐寸o計算機系統/服務器可以在由計算機系統執行的計算機系統可執行指令(諸如程序模塊)的一般語境下描述。通常,程序模塊可以包括例程、程序、目標程序、組件、邏輯、數據結構等等,它們執行特定的任務或者實現特定的抽象數據類型。計算機系統/服務器可以在分布式云計算環境中實施,分布式云計算環境中,任務是由通過通信網絡鏈接的遠程處理設備執行的。在分布式云計算環境中,程序模塊可以位于包括存儲設備的本地或遠程計算系統存儲介質上。參考圖1,示出了本發明實施例中提出的一種終端電池溫度監測方法的流程圖,該方法具體可以包括步驟100,分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑。其中,所述電池溫度數據是系統預先調用驅動程序通知操作系統寫入到文件中的數據。隨著互聯網的發展,越來越多的用戶選擇了智能移動終端,現在的智能移動終端發展迅速,為了支撐更強的性能和更大的屏幕,一般都會為終端配備更大容量的電池。而電池在使用過程中會產生熱量,如果電池溫度過高,則會影響終端的性能。因此,本發明實施例提出了一種終端電池溫度監測方法,該方法通過讀取終端內部溫度傳感器的數據可以直接獲得電池溫度數據。在終端的內部會安裝一些溫度傳感器,這些溫度傳感器可以實時監測終端內部設備的溫度數據,通過生產廠商實現的設備驅動可以從溫度傳感器獲得具體的溫度數據,然后系統預先調用驅動程序通知操作系統,再由操作系統將這些溫度數據寫入到對應的文件中。本發明實施例中,首先可以通過對終端系統的底層源碼進行分析,以找出終端電池中溫度傳感器數據存儲在哪個文件中、文件路徑是什么,在找出文件路徑之后,后續可以對這些文件路徑下的文件內容進行處理。步驟102,讀取所述文件路徑對應的文件內容。在步驟100中分析出終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑,由于在所述文件路徑下的文件為通過對終端進行分析之后確定出的存儲有電池溫度數據的文件,因此,在獲取到上述文件路徑之后,即可讀取所述文件路徑對應的文件內容。其中,所述文件內容中包括電池溫度數據,還可以包括一些其他信息,本發明實施例對此并不加以限制。步驟104,從所述文件內容中提取所述電池溫度數據。讀取到所述文件路徑對應的文件內容,即可以從所述文件內容中直接提取出電池溫度數據。如果當前的電池溫度過高,可以采取一些措施以降低電池溫度(例如,如果當前正在玩游戲,可以停止當前的游戲)。對于上述各個步驟的具體過程,將在下面的實施例中詳細介紹。本發明實施例提出的終端電池溫度監測方法可以分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑,并且讀取所述文件路徑對應的文件內容,這些文件路徑為通過對系統底層源碼進行分析得出的對應溫度傳感器數據所在文件的文件路徑,因此從所述文件內容中可以直接提取終端的電池溫度數據。由此解決了由于無法獲取當前的電池溫度數據,致使電池溫度過高而影響終端性能的問題,能夠及時準確地讀取電池溫度數據,減少對終端性能的影響。下面,對本發明實施例提出的終端電池溫度監測方法進行詳細介紹。參考圖2,示出了根據本發明一個具體實施例的一種終端電池溫度監測方法的流程圖,該方法可以包括步驟200,分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑。根據上述實施例一的相關描述,本發明實施例中首先可以通過對終端系統的底層源碼進行分析,確定出存儲終端電池中溫度傳感器數據的文件的路徑,在找出文件路徑之后,后續可以對這些文件路徑下的文件內容進行處理。對于具體的分析過程,本領域技術人員根據實際情況進行相應處理即可,本發明實施例在此不再詳細論述。其中,所述電池溫度數據是系統預先調用驅動程序通知操作系統寫入到文件中的數據。考慮到每個終端的生產廠商可能不同,而生產廠商不同的終端的操作系統將溫度數據寫入的文件的位置不同,因此用于存儲電池溫度數據的文件的路徑也有可能不同,因此可以分別對不同的生產廠商生產的終端進行分析,從而得出針對不同的終端,其中用于存儲電池溫度數據的文件的路徑都有哪些。因此,在本發明實施例中,所述溫度傳感器感測到的電池溫度數據所在文件的文件路徑可以包括多個文件路徑。步驟202,讀取所述文件路徑對應的文件內容。在確定出終端中用于存儲電池溫度數據的文件的路徑之后,由于在這些文件路徑下的文件內容中存儲有終端的電池溫度數據,因此,可以通過系統讀取所述文件路徑對應的文件內容。
本發明實施例中,可以設置一個定時器,通過該定時器可以定時通知系統直接去所述文件路徑下讀取文件內容。對于讀取的時間間隔,本發明實施例并不加以限制。根據上述步驟200的相關描述可以得知,本發明實施例中所述溫度傳感器數據所在文件的文件路徑可以包括多個文件路徑,因此,該步驟202具體可以包括子步驟2021,依次從所述多個文件路徑下讀取對應的文件內容。本發明實施例中,針對不同生產廠商的終端,其中存儲有電池溫度數據的文件可能不同,因此經過分析可以得到多個不同的文件路徑,對于某個終端,其電池溫度數據會存儲在這些文件路徑中的一個文件路徑對應的文件中。因此,本發明實施例在從所述多個文件路徑下讀取對應的文件內容時,可以按照預先設置的順序依次遍歷讀取所述多個文件路徑,直到從其中一個文件路徑下的讀取到對應的文件內容為止。例如,首先可以分析針對當前終端來說,各個文件路徑下的文件內容中包括所述電池溫度數據的可能性,然后按照可能性的大小對所述多個文件路徑進行排序,最后依次讀取排序后的文件路徑。當然,還可以采用文件路徑的其他一些特性進行排序,本發明實施例對此并不加以限制。本發明實施例中,可以通過信息讀取函數(ReadInfo函數)從所述多個文件路徑下讀取對應的文件內容。該子步驟2021可以包括al,調用ReadInfo函數,依次將所述多個文件路徑作為參數傳遞給所述ReadInfo函數。a2,接收所述ReadInfo函數的返回值,所述返回值為所述文件路徑對應的文件內容。其中,ReadInfo函數為操作系統的信息讀取函數,對于通過該系統函數讀取文件內容的具體過程,本領域技術人員根據實際情況進行相應處理即可,本發明實施例在此不再詳細論述。子步驟2022,依次讀取時,當從任何一個文件路徑下讀取到文件內容時,停止讀取下一個文件路徑對應的文件內容。對于不同的終端,其存儲電池溫度數據的文件的路徑可能不同,經過分析,將這些可能的文件路徑作為溫度傳感器感測到的電池溫度數據所在文件的文件路徑。當針對一個終端進行處理時,如果從其中一個文件路徑下讀取到文件內容,則說明該文件路徑下的文件即為該終端中用于存儲電池溫度數據的文件,此時,可以不再針對其他的路徑讀取其文件內容。本發明實施例中,該子步驟2022可以包括bl,當所述任何一個文件路徑對應的文件內容讀取成功時,判斷所述任何一個文件路徑對應的文件內容是否為空內容。b2,當所述文件內容不為空內容時,停止讀取下一個文件路徑對應的文件內容。子步驟2023,依次讀取時,當所述任何一個文件路徑對應的文件內容讀取失敗,或者所述任何一個文件路徑對應的文件內容為空內容時,繼續讀取下一個文件路徑對應的文件內容。
下面,以安卓系統為例進行介紹,經過分析,在安卓操作系統中,用于存儲電池溫度數據的文件的路徑可以包括以下幾種(I)/sys/class/hwmon/hwmonO/device/templ_input(2)/sys/class/power_supply/battery/temp(3)/sys/class/power_supply/battery/batt_temp對于不同的生產廠商,終端的操作系統將溫度數據寫入的文件的位置不同,但是經過分析發現,溫度數據存儲的位置為上述三個文件路徑中的一個路徑對應的文件中。因此,本發明實施例中,可以依次將上述三個文件路徑定期傳遞至ReadInfo函數,然后接收ReadInfo函數的返回值(例如,可以通過魯大師定期向ReadInfo函數傳遞文件路徑),直到從其中一個文件路徑下讀取到對應的文件內容為止。具體過程可以包括步驟1、將文件路徑 /sys/class/hwmon/hwmonO/device/templ_input 作為參數傳遞給ReadInfo函數。如果ReadInfo函數成功獲取到該文件路徑下的文件內容,則執行步驟2 ;如果文件內容獲取失敗,則執行步驟4。步驟2,判斷所述文件內容是否為空。如果所述文件內容不為空,則執行步驟3;如果所述文件內容為空,則執行步驟4。步驟3,接收ReadInfo函數的返回值,所述返回值即為所述文件路徑/sys/class/hwmon/hwmonO/device/templ_input 對應的文件內容。步驟4,將文件路徑 /sys/class/power_supply/battery/temp 作為參數傳遞給ReadInfo 函數。如果ReadInfo函數成功獲取到該文件路徑下的文件內容,則執行步驟5如果文件內容獲取失敗,則執行步驟7。步驟5,判斷所述文件內容是否為空。如果所述文件內容不為空,則執行步驟6 ;如果所述文件內容為空,則執行步驟7。步驟6,接收ReadInfo函數的返回值,所述返回值即為所述文件路徑/sys/class/power_supply/battery/temp 對應的文件內容。步驟7、將文件路徑 /sys/class/power_supply/battery/batt_temp 作為參數傳遞給ReadInfo函數。如果ReadInfo函數成功獲取到該文件路徑下的文件內容,并且所述文件內容不為空,則執行步驟8。步驟8,接收ReadInfo函數的返回值,所述返回值即為所述文件路徑/sys/class/power_supply/battery/batt_temp 對應的文件內容。由于經過上述描述可以得知上述三種文件路徑即為可能存儲電池溫度數據的文件的路徑,因此,本發明實施例中,至少可以在其中的一個文件路徑下讀取到對應的文件內容。因此,在上述過程中,如果在文件路徑/sys/class/hwmon/hwmonO/device/templ_input和文件路徑/sys/class/power_supply/battery/temp下都沒有讀取到對應的文件內容,則在文件路徑/sys/class/power_supply/battery/batt_temp下可以讀取到對應的文件路徑。需要說明的是,本發明實施例中對于上述三種文件路徑的讀取順序并不加以限制。并且,上述三種文件路徑是針對安卓操作系統而言的,但是,本發明實施例并不限定于上述三種文件路徑,例如對于其他一些操作系統可能為其他的文件路徑,本發明實施例對此不再詳細論述。步驟204,從所述文件內容中提取所述電池溫度數據。在步驟202中讀取到對應的文件路徑之后,由于該文件路徑下的文件內容中存儲有電池溫度數據,因此,在該步驟中即可以從讀取到的文件內容中提取電池溫度數據。本發明實施例中,通過上述步驟200-步驟204可以實時獲取到終端的電池溫度數據,使得電池溫度數據的獲取更加及時。另一方面,經過分析發現,當終端的電池狀態發生變化時,終端操作系統系統會發出廣播事件,該廣播事件的附加數據中包含了終端的電池溫度數據信息。因此,本發明實施例還進一步提出了通過該廣播事件獲取電池溫度數據的方法。
具體的,本發明實施例的電池溫度監測方法還可以包括步驟206,當檢測到電池的狀態發生變化時,監聽終端操作系統發出的廣播事件。本發明實施例中,所述電池的狀態發生變化可以包括以下幾種情況充電開始(例如檢測到插入充電器)、充電完成(例如檢測到拔出充電器)、或者電池的電量變化量達到預設的閾值(例如電池的電量變化量達到1%或者其他數值)。當然,本發明實施例所述的電池狀態發生變化并不限定于上述幾種情況,還可以包括其他的情況,本發明實施例對此并不加以限制。步驟208,讀取所述廣播事件的附加數據,并從所述附加數據中提取電池溫度數據。上述操作系統發出的廣播事件中包含有附加數據,這些附加數據中包含了終端的電池溫度數據,所述電池溫度數據也可以為通過上述讀取預設文件路徑下對應的文件內容的方法獲得的電池溫度數據,對于具體的過程,本發明實施例在此不再詳細論述。在終端操作系統發出廣播事件后,即可讀取該廣播事件的附加數據,并從讀取到的附加數據中提取其中的電池溫度數據。需要說明的是,上述步驟206-步驟208是通過讀取操作系統的廣播事件以獲取電池溫度數據的過程。但是,終端操作系統只有在檢測到電池的狀態發生變化時才會發出該廣播事件,g卩如果利用上述讀取廣播事件的方法,只有在電池狀態發生變化才能夠獲取到對應的電池溫度數據,而其余的時候即使電池溫度數據發生了變化也是不能獲取到對應的電池溫度數據的。因此,通過讀取廣播事件獲取電池溫度數據的方式存在電池溫度數據更新不及時的問題。因此,本發明實施例為了解決該問題,提出了通過步驟200-步驟204中實時讀取溫度傳感器感測到的電池溫度數據所在文件的文件路徑對應的文件內容來獲取電池溫度數據的方法。該方法首先確定出終端中可能存儲有電池溫度數據的文件的路徑,然后可以實時地讀取這些文件路徑下的文件內容,從而可以不受電池狀態的限制,即使電池狀態沒有發生變化時,也是可以獲取到對應的電池溫度數據的。因此,相對于上述通過讀取廣播事件獲取電池溫度數據的方法,該讀取預設文件路徑下對應的文件內容的方法可以不受外界條件(電池的狀態變化)的限制,使電池溫度數據的更新更加及時。由于一些終端具有特殊性,這些終端獲取到的電池溫度數據的單位可能不是。C,因此,為了統一獲取到的溫度的取值范圍,本發明實施例中可以設置電池溫度數據均以。C為單位。本發明實施例中,可以預先設置溫度范圍,當獲取到的電池溫度數據在該預設的溫度范圍之內時,確定該溫度為終端的電池溫度數據。因此,本發明實施例所述的電池溫度數據監測方法還可以包括以下步驟步驟210,將提取的電池溫度數據與預設的溫度范圍進行比較。步驟212,當所述電池溫度數據在所述溫度范圍之內時,確定所述在溫度范圍之內的電池溫度數據為終端的電池溫度數據。本發明實施例中,可以設置所述溫度范圍為15°C -60°C,如果提取出的電池溫度數據在該溫度范圍之內時,則可以將該溫度作為終端的電池溫度數據。步驟214,當所述電池溫度數據超出所述溫度范圍時,將所述電池溫度數據轉換成在所述溫度范圍之內的溫度,并將轉換后的電池溫度數據作為終端的電池溫度數據。如果提取出的電池溫度數據超出了上述溫度范圍,本發明實施例還可以進一步對提取出的溫度進行處理,以使其處于正常的溫度范圍之內。例如,如果提取出的電池溫度數據為300 (其單位可能不是。C ),則本發明實施例可以將該數值除以一個固定值(例如除以10)。如果除以該固定值之后的數值還不在上述溫度范圍之內,則可以繼續將得到的數值除以上述固定值,直到得出的數值在所述溫度范圍內為止,最后將所述在溫度范圍之內的電池溫度數據確定為終端的電池溫度數據。需要說明的是,上述的溫度范圍只是用于示例,本發明實施例對具體的數值并不加以限制。本發明實施例的終端電池溫度監測方法不僅可以分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑,并定期從所述文件路徑下讀取文件內容,并從中提取電池溫度數據,還可以通過系統發出的廣播事件獲取電池溫度數據,從而可以更加及時準確地獲得終端的電池溫度數據,由此解決了由于無法獲取當前的電池溫度數據,致使電池溫度過高而影響終端性能的問題,取得了能夠及時準確地讀取電池溫度數據,減少對終端性能的影響的有益效果。需要說明的是,對于前述的方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本申請并不受所描述的動作順序的限制,因為依據本申請,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優選實施例,所涉及的動作并不一定是本申請所必需的。參照圖3,示出了本發明實施例三的一種終端電池溫度監測裝置的結構框圖,該裝置可以包括路徑分析模塊300、溫度讀取模塊302、第一提取模塊304、第二提取模塊306、比較模塊308、確定模塊310、轉換模塊312。其中,路徑分析模塊300,適于分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑;其中,所述電池溫度數據是系統預先調用驅動程序通知操作系統寫入到文件中的數據。溫度讀取模塊302,適于讀取所述文件路徑對應的文件內容;
本發明實施例中,所述終端電池溫度監測裝置還可以包括定時器,通過該定時器可以定時通知系統直接去所述文件路徑下讀取文件內容。由于各個終端的生產廠商可能不同,因此其中用于存儲電池溫度數據的文件的路徑也可能不同,因此,本發明實施例中,所述終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑可以包括多個文件路徑。例如,在安卓操作系統中,所述多個文件路徑可以包括文件路徑/sys/c I as s/hwmon/hwmonO/device/templ_input、文件路徑 /sys/class/power_supply/battery/temp和文件路徑 /sys/class/power_supply/battery/batt_temp。具體的,所述溫度讀取模塊302依次從所述多個文件路徑下讀取對應的文件內容,在依次讀取時,當從任何一個文件路徑下讀取到文件內容時,停止讀取下一個文件路徑對應的文件內容。其中,所述依次讀取為按照預先設置的順序遍歷讀取。所述溫度讀取模塊302可以包括調用子模塊,適于調用ReadInfo函數,依次將所述多個文件路徑作為參數傳遞給所述ReadInfo函數;接收子模塊,適于接收所述ReadInfo函數的返回值,所述返回值為所述文件路徑對應的文件內容;判斷子模塊,適于當所述任何一個文件路徑對應的文件內容讀取成功時,判斷所述任何一個文件路徑對應的文件內容是否為空內容;停止讀取子模塊,適于當判斷子單元判斷出所述文件內容不為空內容時,停止讀取下一個文件路徑對應的文件內容;繼續讀取子模塊,適于在依次讀取時,當所述任何一個文件路徑對應的文件內容讀取失敗,或者所述任何一個文件路徑對應的文件內容為空內容時,繼續讀取下一個文件路徑對應的文件內容。第一提取模塊304,適于從所述文件內容中提取所述電池溫度數據;第二提取模塊306,適于當檢測到電池的狀態發生變化時,監聽終端操作系統發出的廣播事件,讀取所述廣播事件的附加數據,并從所述附加數據中提取電池溫度數據;其中,所述電池的狀態發生變化包括以下幾種情況充電開始、充電完成、或者電池的電量變化量達到預設的閾值。當然,還可以包括其他的情況,本發明實施例對此并不加以限制。由于一些終端具有特殊性,為了統一獲取到的溫度的取值范圍,本發明實施例中,可以預先設置溫度范圍,當獲取到的電池溫度數據在該預設的溫度范圍之內時,確定該溫度為終端的電池溫度數據。因此,本發明實施例所述的裝置還可以包括比較模塊308,適于將提取的電池溫度數據與預設的溫度范圍進行比較;確定模塊310,適于當比較模塊的比較結果為所述電池溫度數據在所述溫度范圍之內時,確定所述在溫度范圍之內的電池溫度數據為終端的電池溫度數據;轉換模塊312,適于當比較模塊的比較結果為所述電池溫度數據超出所述溫度范圍時,將所述電池溫度數據轉換成在所述溫度范圍之內的溫度,并將轉換后的電池溫度數據作為終端的電池溫度數據。對于上述終端電池溫度監測裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見圖1和圖2所示方法實施例的部分說明即可。本發明實施例的終端電池溫度監測裝置可以更加及時準確地獲得終端的電池溫度數據,由此解決了由于無法獲取當前的電池溫度數據,致使電池溫度過高而影響終端性能的問題,取得了能夠及時準確地讀取電池溫度數據,減少對終端性能的影響的有益效果。基于上述終端電池溫度監測裝置實施例,本發明實施例還提供了一種包含CPU、電池、溫度傳感器、存儲器,以及該終端電池溫度監測裝置的終端。所述終端可以分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑,并且讀取所述文件路徑對應的文件內容,這些文件路徑為通過對系統底層源碼進行分析得出的對應溫度傳感器數據所在文件的文件路徑,因此從所述文件內容中可以直接提取終端的電池溫度數據。由此解決了由于無法獲取當前的電池溫度數據,致使電池溫度過高而影響終端性能的問題,取得了能夠及時準確地讀取電池溫度數據,減少對終端性能的影響的有益效果。電池在使用過程中會產生熱量,導致電池溫度上升,而電池溫度上升會影響終端的性能,甚至在極端情況下可能出現過熱而導致爆炸。因此,在終端的使用過程中,為了不影響終端的性能,如果電池溫度過高,可以暫時停止目前正在執行的程序,以降低電池溫度。因此,本發明實施例中,提出了一種終端電池溫度顯示方法,在得到終端的電池溫度數據之后,還可以在終端的用戶界面上顯示所述電池溫度數據,以更直觀地將所述電池溫度數據顯示給用戶。如圖4所示,為本發明實施例所述的一種終端電池溫度顯示方法的流程圖,所述方法包括步驟400,分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑。其中,所述電池溫度數據是系統預先調用驅動程序通知操作系統寫入到文件中的數據。步驟402,讀取所述文件路徑對應的文件內容。步驟404,從所述文件內容中提取所述電池溫度數據。對于上述步驟400-步驟404的具體過程,參見圖1和圖2所示方法實施例的部分說明即可,本發明實施例在此不再詳細論述。步驟406,在終端的用戶界面上顯示所述電池溫度數據。其中,所述用戶界面為以下的任意一種桌面的插件,桌面懸浮窗和瀏覽器的插件。例如,本發明實施例可以通過桌面的插件widget來顯示所述電池溫度數據。widget最初是源于蘋果電腦的一個插件工具-Konfabulator,現在已經擴展
應用到windows系統,這個軟件可以把它的功能塊放到終端的桌面上,這些功能塊就是widget。比如說時鐘widget,就是在桌面上顯示當前的時間;天氣widget,可以顯示定制的地區的天氣預報;cpu widget可以顯示cpu的占用比率;還有桌面搜索widget、股票widget 等等。
具體的,本發明實施例可以通過widget顯示所述電池溫度數據,其中可以包括電池溫度數據以及當前的溫度狀態(例如正常、過高等)。參考圖5,示出了本發明實施例所述的電池溫度顯示的界面圖,從圖5可以看出,當前的電池溫度數據為29°,狀態為正常。當然,本發明實施例中還可以將一些其他的與電池溫度數據相關的信息(例如當前的電池溫度比正常溫度高多少)顯示在終端的用戶界面(例如桌面)上,本發明實施例對此并不加以限制。另外,本發明實施例還可以通過桌面懸浮窗顯示所述電池溫度數據。終端上的軟件會在終端的屏幕上生成相應的懸浮窗,這些懸浮窗的作用在于,當主程序的窗口在最小化時,還可以提示用戶該程序的運行狀態,并可以通過點擊這些小窗口,快捷地打開主程序的窗口。例如,360手機安全衛士提供了一個懸浮窗,可以顯示在終端屏幕上,懸浮窗顯示了終端已使用的內存占用量等系統資源信息。本發明實施例中可以通過桌面懸浮窗顯示所述電池溫度數據,該懸浮窗內可以包括一個用于展示電池溫度檢測結果的預設入口,可以實時接收用戶端的請求(例如在懸浮窗內設置一個操作的按鈕,當用戶端點擊按鈕時即可觸發請求),在接收到用戶端的請求之后,即可將溫度數據的實時測量結果展示出來。當然,還可以通過其他的方式顯示所述溫度數據,本發明實施例對此并不加以限制。與上述實施例描述的終端電池溫度顯示的方法相對應,本發明實施例還提出了一種終端電池溫度顯示裝置。圖6示出了本發明實施例所述的終端電池溫度顯示裝置的結構框圖,所述裝置可以包括路徑分析模塊600,適于分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑;其中,所述電池溫度數據是系統預先調用驅動程序通知操作系統寫入到文件中的數據。溫度讀取模塊602,適于讀取所述文件路徑對應的文件內容;第一提取模塊604,適于從所述文件內容中提取所述電池溫度數據。顯示模塊606,適于在終端的用戶界面上顯示所述電池溫度數據。其中,所述用戶界面為以下的任意一種桌面的插件,桌面懸浮窗和瀏覽器的插件。其中,對于路徑分析模塊600、溫度讀取模塊602和第一提取模塊604的具體描述,可以參照上述終端電池溫度數據監測裝置實施例的相關描述,本發明實施例在此不再詳細論述。上述實施例提出的終端電池溫度數據顯示方法和裝置可以在獲取到終端的電池溫度數據之后,進一步將所述電池溫度數據顯示在終端的用戶界面上,從而用戶可以更加直觀地了解電池溫度數據,并根據當前的電池溫度數據情況對終端執行相應的操作,例如如果當前的電池溫度過高,可以通過暫停某些應用程序,以使電池溫度降低,從而減少對終端性能的影響。
基于上述終端電池溫度顯示裝置實施例,本發明實施例還提供了 一種包含CPU、電池、溫度傳感器、存儲器,以及該終端電池溫度顯示裝置的終端。所述終端可以在獲取到終端的電池溫度數據之后,將所述電池溫度數據顯示在終端的用戶界面上,從而用戶可以更加直觀地了解電池溫度數據。本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。本領域技術人員易于想到的是上述各個實施例的任意組合應用都是可行的,故上述各個實施例之間的任意組合都是本申請的實施方案,但是由于篇幅限制,本說明書在此就不一一詳述了。在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基于在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現在此描述的本發明的內容,并且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。類似地,應當理解,為了精簡本公開并幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖即所要求保護的本發明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式
的權利要求書由此明確地并入該具體實施方式
,其中每個權利要求本身都作為本發明的單獨實施例。 本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。本發明的各個部件實施例可以以硬件實現,或者以在一個或者多個處理器上運行的軟件模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數字信號處理器(DSP)來實現根據本發明實施例的電池溫度監測裝置中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用于執行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
權利要求
1.一種終端電池溫度監測方法,包括 分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑;其中,所述電池溫度數據是系統預先調用驅動程序通知操作系統寫入到文件中的數據; 讀取所述文件路徑對應的文件內容; 從所述文件內容中提取所述電池溫度數據。
2.根據權利要求1所述的方法,所述溫度傳感器數據感測到的電池溫度所在文件的文件路徑包括多個文件路徑, 所述讀取所述文件路徑對應的文件內容,包括 依次從所述多個文件路徑下讀取對應的文件內容,所述依次讀取為按照預先設置的順序遍歷讀取; 依次讀取時,當從任何一個文件路徑下讀取到文件內容時,停止讀取下一個文件路徑對應的文件內容。
3.根據權利要求2所述的方法,所述依次讀取時,當從任何一個文件路徑讀取到文件內容時,停止讀取下一個文件路徑對應的文件內容,包括 當所述任何一個文件路徑對應的文件內容讀取成功時,判斷所述任何一個文件路徑對應的文件內容是否為空內容; 當所述文件內容不為空內容時,停止讀取下一個文件路徑對應的文件內容。
4.根據權利要求3所述的方法,所述讀取所述文件路徑對應的文件內容,還包括 依次讀取時,當所述任何一個文件路徑對應的文件內容讀取失敗,或者所述任何一個文件路徑對應的文件內容為空內容時,繼續讀取下一個文件路徑對應的文件內容。
5.根據權利要求2所述的方法,所述依次從所述多個文件路徑下讀取對應的文件內容,包括 調用信息讀取ReadInfo函數,依次將所述多個文件路徑作為參數傳遞給所述ReadInfo 函數; 接收所述ReadInfo函數的返回值,所述返回值為所述文件路徑對應的文件內容。
6.根據權利要求2所述的方法,在安卓操作系統中,所述多個文件路徑包括文件路徑/sys/class/hwmon/hwmonO/device/templ_input、文件路徑 /sys/class/power_supply/battery/temp 和文件路徑 /sys/class/power_supply/battery/batt_temp。
7.根據權利要求1所述的方法,還包括 當檢測到電池的狀態發生變化時,監聽終端操作系統發出的廣播事件; 讀取所述廣播事件的附加數據,并從所述附加數據中提取電池溫度數據。
8.根據權利要求7所述的方法,所述電池的狀態發生變化包括 充電開始、充電完成、或者電池的電量變化量達到預設的閾值。
9.根據權利要求1或7所述的方法,還包括 將提取的電池溫度數據與預設的溫度范圍進行比較; 當所述電池溫度數據在所述溫度范圍之內時,確定所述在溫度范圍之內的電池溫度數據為終端的電池溫度數據; 當所述電池溫度數據超出所述溫度范圍時,將所述電池溫度數據轉換成在所述溫度范圍之內的溫度數據,并將轉換后的電池溫度數據作為終端的電池溫度數據。
10.一種終端電池溫度監測裝置,包括 路徑分析模塊,適于分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑;其中,所述電池溫度數據是系統預先調用驅動程序通知操作系統寫入到文件中的數據; 溫度讀取模塊,適于讀取所述文件路徑對應的文件內容; 第一提取模塊,適于從所述文件內容中提取所述電池溫度數據。
11.根據權利要求10所述的裝置,所述溫度傳感器感測到的電池溫度數據所在文件的文件路徑包括多個文件路徑, 所述溫度讀取模塊依次從所述多個文件路徑下讀取對應的文件內容,在依次讀取時,當從任何一個文件路徑下讀取到文件內容時,停止讀取下一個文件路徑對應的文件內容,其中,所述依次讀取為按照預先設置的順序遍歷讀取。
12.根據權利要求11所述的裝置,所述溫度讀取模塊包括 判斷子模塊,適于當所述任何一個文件路徑對應的文件內容讀取成功時,判斷所述任何一個文件路徑對應的文件內容是否為空內容; 停止讀取子模塊,適于當判斷子單元判斷出所述文件內容不為空內容時,停止讀取下一個文件路徑對應的文件內容。
13.根據權利要求12所述的裝置,所述溫度讀取模塊還包括 繼續讀取子模塊,適于在依次讀取時,當所述任何一個文件路徑對應的文件內容讀取失敗,或者所述任何一個文件路徑對應的文件內容為空內容時,繼續讀取下一個文件路徑對應的文件內容。
14.根據權利要求11所述的裝置,所述溫度讀取模塊包括 調用子模塊,適于調用信息讀取ReadInfo函數,依次將所述多個文件路徑作為參數傳遞給所述ReadInfo函數; 接收子模塊,適于接收所述ReadInfo函數的返回值,所述返回值為所述文件路徑對應的文件內容。
15.根據權利要求11所述的裝置,在安卓操作系統中,所述多個文件路徑包括文件路徑 /sys/class/hwmon/hwmonO/device/templ_input> 文件路徑 /sys/class/power_supply/battery/temp 和文件路徑 /sys/class/power_supply/battery/batt_temp。
16.根據權利要求10所述的裝置,還包括 第二提取模塊,適于當檢測到電池的狀態發生變化時,監聽終端操作系統發出的廣播事件,讀取所述廣播事件的附加數據,并從所述附加數據中提取電池溫度數據。
17.根據權利要求16所述的裝置,所述電池的狀態發生變化包括 充電開始、充電完成、或者電池的電量變化量達到預設的閾值。
18.根據權利要求10或16所述的裝置,還包括 比較模塊,適于將提取的電池溫度數據與預設的溫度范圍進行比較; 確定模塊,適于當比較模塊的比較結果為所述電池溫度數據在所述溫度范圍之內時,確定所述在溫度范圍之內的電池溫度數據為終端的電池溫度數據; 轉換模塊,適于當比較模塊的比較結果為所述電池溫度數據超出所述溫度范圍時,將所述電池溫度數據轉換成在所述溫度范圍之內的溫度,并將轉換后的電池溫度數據作為終端的電池溫度數據。
19.一種終端,包括CPU、電池、溫度傳感器、存儲器,以及如上述權利要求10至18任一所述的終端電池溫度監測裝置。
全文摘要
本發明實施例公開了一種終端電池溫度監測方法和裝置,以及一種終端,以解決由于無法獲取當前的電池溫度數據,致使電池溫度數據過高而影響終端性能的問題。其中,終端電池溫度監測方法包括分析終端電池中溫度傳感器感測到的電池溫度數據所在文件的文件路徑;其中,所述電池溫度數據是系統預先調用驅動程序通知操作系統寫入到文件中的數據;讀取所述文件路徑對應的文件內容;從所述文件內容中提取所述電池溫度數據。本發明實施例能夠及時準確地讀取電池溫度數據,減少對終端性能的影響,并且在獲取到終端的電池溫度數據之后,可以將該電池溫度數據顯示在終端的用戶界面上,從而可以更加直觀地顯示所述電池溫度數據。
文檔編號G06F11/30GK103019907SQ20121048894
公開日2013年4月3日 申請日期2012年11月26日 優先權日2012年11月26日
發明者霍小東 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司