Android 安卓8.x。当屏幕关闭时,摄像机停止工作

Android 安卓8.x。当屏幕关闭时,摄像机停止工作,android,android-camera,android-8.1-oreo,Android,Android Camera,Android 8.1 Oreo,这是一个使用AlarmManager和BroadcastReceiver重复拍照的简单应用程序。几年前部署,它在牛轧糖及以下产品上运行良好。如果屏幕打开,它也可以在8.x上正常工作 当屏幕关闭(仅8.x版)或设备自行进入睡眠状态时,AlarmManager和BroadcastReceiver之间的基本聊天将正常继续(嘟嘟声,计数器递增),但相机无法拍摄照片(到SD卡)。事实上,该应用程序在启动摄像头时崩溃 当用户将LG从7.0升级到8.0时,首次报告了该问题。一、 刚刚购买了Nexus5(8.1

这是一个使用AlarmManager和BroadcastReceiver重复拍照的简单应用程序。几年前部署,它在牛轧糖及以下产品上运行良好。如果屏幕打开,它也可以在8.x上正常工作

当屏幕关闭(仅8.x版)或设备自行进入睡眠状态时,AlarmManager和BroadcastReceiver之间的基本聊天将正常继续(嘟嘟声,计数器递增),但相机无法拍摄照片(到SD卡)。事实上,该应用程序在启动摄像头时崩溃

当用户将LG从7.0升级到8.0时,首次报告了该问题。一、 刚刚购买了Nexus5(8.1),可以复制这个问题

没有提供任何线索。怎么了

其他材料:编译DK26版、MINSDK 14版、TARGETSDKVersion26版;尝试为应用程序和相机应用程序禁用“电池优化”——没有帮助;没有其他相机应用程序运行;这个问题一再重复

以下是Google Play开发者控制台上的报道:

  java.lang.RuntimeException: 
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$-android_app_LoadedApk$ReceiverDispatcher$Args_54018 (LoadedApk.java:1384)
  at android.app.-$Lambda$FilBqgnXJrN9Mgyks1XHeAxzSTk.$m$0 (Unknown Source:4)
  at android.app.-$Lambda$FilBqgnXJrN9Mgyks1XHeAxzSTk.run (Unknown Source)
  at android.os.Handler.handleCallback (Handler.java:789)
  at android.os.Handler.dispatchMessage (Handler.java:98)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6710)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:770)
Caused by: java.lang.RuntimeException: 
  at android.hardware.Camera.native_autoFocus (Camera.java)
  at android.hardware.Camera.autoFocus (Camera.java:1431)
  at my.package.myActivity.d (myActivity.java:155)
  at my.package.myActivity$8.onReceive (myActivity.java:8)
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$-android_app_LoadedApk$ReceiverDispatcher$Args_54018 (LoadedApk.java:1366)
  at android.app.-$Lambda$FilBqgnXJrN9Mgyks1XHeAxzSTk.$m$0 (Unknown Source:4)
  at android.app.-$Lambda$FilBqgnXJrN9Mgyks1XHeAxzSTk.run (Unknown Source)
  at android.os.Handler.handleCallback (Handler.java:789)
  at android.os.Handler.dispatchMessage (Handler.java:98)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6710)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:770)
更新(8月4日):我刚刚意识到,如果应用程序不再位于前台(例如,按下主页按钮),也会出现此问题


此外,PowerManager代码从部分唤醒锁定更改为(不推荐)屏幕昏暗唤醒锁定,可防止设备进入睡眠状态;该应用程序运行良好。[这是我目前针对8.x手机的解决方案!]

可能还有其他一些使用摄像头的应用程序,比如面部识别。但你们为什么要在隐形模式下运行摄像机@两部手机上都有GokulNathKP?只有在更新之后?这看起来有点单薄,可能是更新中其他一些更改的副作用。“相机无法拍摄照片(到SD卡)。”这是否意味着你可以拍摄照片,但不能将其保存到SD卡?@Abbas。从被捕获的错误中,我知道是相机出了故障,而不是SD卡的写入。也发布堆栈跟踪。