设备屏幕关闭时如何打开手电筒?
How to turn ON flashlight when device screen is off?
在我的应用程序中,我需要在由 BroadcastReceiver 启动的 activity 中启动手电筒。
如果应用程序在前台或后台并且屏幕打开,它工作正常,但如果屏幕关闭(有或没有键盘锁),应用程序崩溃。
分析:
当屏幕关闭时,创建相机对象仍然成功,但是
Camera.startPreview() 抛出 RuntimeException。
我可以理解关闭屏幕时禁止启动相机的动机,但是我怎么能只打开on/off手电筒呢?
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,小米 Mi A1
minSdkVersion 22
我搜索的链接:
flash light is not turned on
flashlight not working,when device screen is off/sleep (android studio)
如果屏幕关闭,Activity 在打开之前不会真正启动。这就是相机打不开的原因。相反,启动一个服务来做它实际上可以 运行 立即。
在我的应用程序中,我需要在由 BroadcastReceiver 启动的 activity 中启动手电筒。 如果应用程序在前台或后台并且屏幕打开,它工作正常,但如果屏幕关闭(有或没有键盘锁),应用程序崩溃。
分析: 当屏幕关闭时,创建相机对象仍然成功,但是 Camera.startPreview() 抛出 RuntimeException。
我可以理解关闭屏幕时禁止启动相机的动机,但是我怎么能只打开on/off手电筒呢?
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,小米 Mi A1 minSdkVersion 22
我搜索的链接:
flash light is not turned on
flashlight not working,when device screen is off/sleep (android studio)
如果屏幕关闭,Activity 在打开之前不会真正启动。这就是相机打不开的原因。相反,启动一个服务来做它实际上可以 运行 立即。