[英]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
我搜索的鏈接:
如果屏幕關閉,則 Activity 在打開之前不會實際啟動。 這就是相機無法打開的原因。 相反,啟動一個服務來完成它,它實際上可以立即運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.