DyncKathline / ZxingScan

基于MLKit实现二维码,条形码识别;实现微信效果样式;
GNU Affero General Public License v3.0
124 stars 28 forks source link

CameraSourcePreview 预览问题 #5

Open cliuff opened 1 year ago

cliuff commented 1 year ago

发现一个异常,希望修复

java.lang.RuntimeException: startPreview failed
at android.hardware.Camera.startPreview (Camera.java)
at com.kathline.barcode.CameraSource.start (CameraSource.java:181)
at com.kathline.barcode.CameraSourcePreview.startIfReady (CameraSourcePreview.java:85)
at com.kathline.barcode.CameraSourcePreview.access$200 (CameraSourcePreview.java:32)
at com.kathline.barcode.CameraSourcePreview$SurfaceCallback.surfaceCreated (CameraSourcePreview.java:114)
at android.view.SurfaceView.updateWindow (SurfaceView.java:618)
at android.view.SurfaceView$3.onPreDraw (SurfaceView.java:161)
at android.view.ViewTreeObserver.dispatchOnPreDraw (ViewTreeObserver.java:944)
at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2206)
at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1255)
DyncKathline commented 1 year ago

复现流程有吗

cliuff commented 1 year ago

抱歉没有 这是微软的库记录下来所报告的异常

cliuff commented 1 year ago

而且这里还有个异常,希望一并处理了吧 Catch exception thrown by a lifecycle observer used by MLKit, reported by vivo S1 with Android 9

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.content.pm.action.REQUEST_PERMISSIONS
pkg=com.android.packageinstaller (has extras) }
--- some stacktrace ---
at androidx.fragment.app.Fragment.requestPermissions (Fragment.java:1654)
at com.kathline.barcode.PermissionUtil$PermissionFragment.requestPermissions (PermissionUtil.java:193)
at com.kathline.barcode.PermissionUtil.requestPermissions (PermissionUtil.java:144)
at com.kathline.barcode.MLKit.requirePermission (MLKit.java:304)
at com.kathline.barcode.MLKit.startCameraSource (MLKit.java:254)
at com.kathline.barcode.MLKit.onStart (MLKit.java:75)

Call chain

onStart() -> FragmentActivity.onStart() ->
LifecycleRegistry.markState() -> LifecycleObserver.onStateChanged() -> MLKit.onStart()