validateClientPermissionsLocked: вызывающий "пакет" не может открыть камеру "1" из фона " - PullRequest
0 голосов
/ 03 января 2019

Попытка сделать снимок с фронтальной камеры, когда приложение находится в фоновом режиме.

У меня есть код ниже, работающий в Android 6 и ниже.

Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
                cameraCount = Camera.getNumberOfCameras();
                for (int camIdx = 0; camIdx < cameraCount; camIdx++)
                {
                    Camera.getCameraInfo(camIdx, cameraInfo);

                    if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT)
                    {
                        myCamera = Camera.open(camIdx);
                    }
                }

Это работает в Android 7 и выше, только если приложение находится на переднем плане.Если приложение работает в фоновом режиме, оно отображает следующую ошибку:

W/CameraBase: An error occurred while connecting to camera 1: Status(-8): '6: validateClientPermissionsLocked:915: Caller "packagename" (PID 10152, UID 32606) cannot open camera "1" from background'

W/System.err: java.lang.RuntimeException: Fail to connect to camera service

W/System.err:     at android.hardware.Camera.<init>(Camera.java:546)

W/System.err:     at android.hardware.Camera.open(Camera.java:392)

W/System.err:     at com.tracking_smartphone.TakePictureActivity.takePictureNoPreview(TakePictureActivity.java:77)

W/System.err:     at com.tracking_smartphone.TakePictureActivity.onCreate(TakePictureActivity.java:46)

W/System.err:     at android.app.Activity.performCreate(Activity.java:7144)

W/System.err:     at android.app.Activity.performCreate(Activity.java:7135)

W/System.err:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)

W/System.err:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2894)

W/System.err:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3049)

W/System.err:     at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)

W/System.err:     at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)

W/System.err:     at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)

W/System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1809)

W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:106)

W/System.err:     at android.os.Looper.loop(Looper.java:193)

W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:6680)

W/System.err:     at java.lang.reflect.Method.invoke(Native Method)

W/System.err:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)

W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Код вызывается в Activity, которая вызывается из JobService.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...