android 使用距離感測器讓螢幕自動息屏

2021-09-24 18:28:12 字數 1145 閱讀 9185

記錄一下最近做的自動息屏,原理是根據手機距離感測器來判斷是否息屏

1.mainfest中許可權註冊

2.oncreate方法中對電源與感測器管理器進行初始化

@suppresslint("invalidwakelocktag")

private void initsenor()

其中powermanager.newwakelock方法表示不同的wakelock操作物件

各種鎖的型別對cpu 、螢幕、鍵盤的影響:

partial_wake_lock:保持cpu 運轉,螢幕和鍵盤燈有可能是關閉的。

screen_dim_wake_lock:保持cpu 運轉,允許保持螢幕顯示但有可能是灰的,允許關閉鍵盤燈

screen_bright_wake_lock:保持cpu 運轉,允許保持螢幕高亮顯示,允許關閉鍵盤燈

full_wake_lock:保持cpu 運轉,保持螢幕高亮顯示,鍵盤燈也保持亮度

acquire_causes_wakeup:正常喚醒鎖實際上並不開啟照明。相反,一旦開啟他們會一直仍然保持(例如來世user的activity)。當獲得wakelock,這個標誌會使螢幕或/和鍵盤立即開啟。乙個典型的使用就是可以立即看到那些對使用者重要的通知。

on_after_release:設定了這個標誌,當wakelock釋放時使用者activity計時器會被重置,導致照明持續一段時間。如果你在wacklock條件中迴圈,這個可以用來減少閃爍

3.在onresume中進行感測器註冊

if (sensormnager!=null)
4.介面實現:

@override

public void onsensorchanged(sensorevent event) else

} else else }}

}@override

public void onaccuracychanged(sensor sensor, int accuracy)

5.釋放資源

@override

protected void ondestroy()

if (wakelock != null)

if (localpowermanager != null)

}

距離感測器

感測器 用來檢測周邊的資訊。不同型別的感測器檢測效果也不同 感測器型別 運動 加速器 等等 使用步驟 1.開啟距離感測器,預設時距離感測器是關閉的,這個方法已經不用了 1.開啟之後就開始實時監聽 使用最新的方法 uidevice currentdevice proximitymonitoringen...

距離感測器

裝置距離感測器功能的使用,首先需要開啟距離感測器功能,其次新增距離監聽。具體實現如下 1 開啟及監聽 uidevice currentdevice proximitymonitoringenabled yes nsnotificationcenter defaultcenter addobserve...

iPhone距離感測器

什麼是感測器 感測器是一種感應 檢測裝置,目前已經廣泛應用於智慧型手機上 感測器的作用 用於感應 檢測裝置周邊的資訊 不同型別的感測器,檢測的資訊也不一樣 iphone中的下面現象都是由感測器完成的 在地圖應用中,能判斷出手機頭面向的方向 一關燈,iphone會自動降低亮度讓螢幕顯得不是那麼刺眼 打...