簡體   English   中英

設備屏幕關閉時如何打開手電筒?

[英]How to turn ON flashlight when device screen is off?

在我的應用程序中,我需要在由 BroadcastReceiver 啟動的活動中啟動手電筒。 如果應用程序在前台或后台並且屏幕打開,它可以正常工作,但如果屏幕關閉(有或沒有鍵盤鎖),應用程序就會崩潰。

分析:screen關閉時,創建camera對象依然成功,但是Camera.startPreview()拋出RuntimeException。

我可以理解在屏幕關閉時禁止激活相機的動機,但我如何才能打開/關閉手電筒?

cam = Camera.open();
//...
try {
     cam.startPreview();
}catch(RuntimeException e){
    Log.w(TAG,"Failed opening camera preview. Maybe screen locked?: " + e.getMessage());
    return;
}

權限:

 <uses-permission android:name="android.permission.CAMERA" />

我嘗試使用 FLASHLIGHT(未記錄)權限,但它在運行時被忽略。

在 Android 8.1 上測試,小米 A1 minSdkVersion 22

我搜索的鏈接:

閃光燈沒有打開

手電筒不工作,當設備屏幕關閉/睡眠時(android studio)

如果屏幕關閉,則 Activity 在打開之前不會實際啟動。 這就是相機無法打開的原因。 相反,啟動一個服務來完成它,它實際上可以立即運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM