導航:首頁 > 操作系統 > androidpower按鍵

androidpower按鍵

發布時間:2023-08-29 06:10:48

Ⅰ 【android休眠】之Android休眠機制

休眠,簡而言之就是設備在不需要工作的時候把一些部件、外設關掉(掉電或讓它進入低功耗模式)。
為什麼要休眠呢?一言以蔽之:省電。
休眠分主動休眠和被動休眠。主動休眠:比如我電腦不用了,就通過設置讓系統進入休眠模式;被動休眠:系統檢測到自己閑的慌,為了節約故,自己就休眠去了。

休眠是內核的核心工作,而Android是基於Linux內核的,所以Android休眠和內核有著千絲萬縷的聯系;由於Android的特殊應用場景:移動設備,所以Android休眠和內核又有著特別的需求。
1、聯系:
Android設備停止使用,系統沒有什麼事情可做,進入休眠狀態的功能最終是由內核去實現的;每一類硬體都有自己的驅動,具體的驅動決定怎麼進入休眠以及處於何種層次的休眠。比如:對於platform_device,就按照platform_driver定義的規則,在suspend調用的時候,去做上面提到的事情:

2、Android的特別需求:
比如對於自己的電腦,不用讓它休眠好了;但是對於我們形影不離的手機,在休眠的時候還要睜一隻眼:來電了要通知你,QQ啊微信啊什麼的由信息了也要通知你,所以Android在Linux內核休眠機制之上,提出了「Opportunistic Suspend」。

絮絮叨叨這么多,下面讓我們切切實實體驗下休眠。
1、休眠模式
休眠是分好幾種模式的,不同模式實現方式、耗電量不同,以下來自Documentation/power/states.txt:

雖說kernel支持上述四種休眠模式,但具體哪幾種可用取決於你的硬體。那麼怎麼知道自己的Android設備支持的休眠模式呢?

答案:通過/sys/文件系統。查詢支持的休眠模式可以cat文件/sys/power/state:

如果我們往/sys/power/state文件echo上面的某一種模式的字元串,系統就會進入相應的休眠模式:

如果你搜索過Android休眠相關的內容,在老版本的Android(4.4版本之前)會見有提到PowerManager的setPowerState()方法,該方法即是通過以上方式使系統進入休眠。但自從引入Autosleep後,就不在這么做了,setPowerState()方法也銷聲匿跡。

2、/sys/power/目錄下文件

文件簡介:

1、Android設備屏幕暗下來的時候,並不是立即就進入了休眠模式;當所有喚醒源都處於de-avtive狀態後,系統才會進入休眠。

2、Android設備連著adb線到其他設備的情況下,設備是不會進入休眠模式的。

3、有休眠操作就有喚醒,就需要喚醒源。喚醒源有很多種,在內核注冊,比如常用的Power按鍵。

4、曾經困惑的一個問題:系統怎麼知道自己應該進入休眠模式了?它的判斷依據是什麼?

在wakelock時代,系統休眠過程中去檢測休眠鎖;如果系統中沒有其他部件持有休眠鎖,就嘗試進入休眠模式,沒有異常事件發生的話就進入休眠模式。
Android從4.4開始使用autosleep機制,只要不存在任何active的喚醒源(wakeup_source)了,就進入休眠模式。

5、系統Power Manager整體流程

Ⅱ android 通話界面屏蔽power鍵作用,在通話的時候讓power鍵不起作用,不能滅屏。

public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
Log.v(TAG, " onKeyDown keyCode = " + keyCode);

switch (keyCode)
{
case KeyEvent.KEYCODE_POWER:
//這里寫你要POWER完成的操作

return XX;//返回,這里只屏蔽POWER鍵,其他按鍵依舊執行父類onKeyDown();

}
return super.onKeyDown(keyCode,event);//執行父類方法,防止其他按鍵也被屏蔽

}

在通話Activity裡面重寫onKeyDown()方法,自己寫KeyEvent.KEYCODE_POWER的操作,注意不要屏蔽其他按鍵。

Ⅲ 安卓到底如何修改鍵值,讓長按「返回」變「鎖屏」

例如把搜索鍵改成電源鍵 利用搜索替換 把所有的search換成power即可 注意 第一個search是短按 緊接著第二個是長按 由此類推 每個鍵後面都有註明 比如search(搜索鍵) power(電源鍵) 更改時只需要將這個值改為目標值就行了

閱讀全文

與androidpower按鍵相關的資料

熱點內容
政策pdf 瀏覽:290
有什麼好玩的文娛app 瀏覽:807
python教學合集 瀏覽:955
有什麼好用的小眾app嗎 瀏覽:116
芋道app源碼 瀏覽:447
計算機程序員怎麼找 瀏覽:280
智聯發pdf 瀏覽:236
c語言編譯錯誤變黑 瀏覽:72
手機軟體加密了怎麼解開 瀏覽:887
linux中的ln命令例子 瀏覽:142
為什麼玩cf第一次進入伺服器很慢 瀏覽:967
工作單源碼 瀏覽:619
安卓如何關閉app自動升級 瀏覽:137
new文件夾怎麼打開 瀏覽:633
安卓51如何優化 瀏覽:179
活塞式壓縮機原理圖 瀏覽:847
水環式壓縮機工作原理 瀏覽:717
阿里雲伺服器安裝後怎麼使用 瀏覽:935
去做APP開戶有什麼危險沒得啊 瀏覽:698
8分之1乘58演算法 瀏覽:172