2017-01-02 2 views
0

Я интегрирую поворотную навигацию, предоставляемую здесь картами. Он отлично работает на Android 5 или меньше. Это ломается в Android 6 и выше. Он вызывает следующую ошибку. Я не могу понять, почему камера используется для навигации. Я добавил все проверки разрешений во время выполнения.здесь карты android 6 android.hardware.camera2.utils.CameraBinderDecorator.throwOnError

E/art: JNI DETECTED ERROR IN APPLICATION: JNI CallVoidMethodV called with 

pending exception java.lang.SecurityException: Lacking privileges to access camera service 
E/art:  at void android.hardware.camera2.utils.CameraBinderDecorator.throwOnError(int) (CameraBinderDecorator.java:108) 
E/art:  at android.hardware.camera2.legacy.CameraDeviceUserShim android.hardware.camera2.legacy.CameraDeviceUserShim.connectBinderShim(android.hardware.camera2.ICameraDeviceCallbacks, int) (CameraDeviceUserShim.java:336) 
E/art:  at android.hardware.camera2.CameraDevice android.hardware.camera2.CameraManager.openCameraDeviceUserAsync(java.lang.String, android.hardware.camera2.CameraDevice$StateCallback, android.os.Handler) (CameraManager.java:330) 
E/art:  at void android.hardware.camera2.CameraManager.openCamera(java.lang.String, android.hardware.camera2.CameraDevice$StateCallback, android.os.Handler) (CameraManager.java:460) 
E/art:  at boolean com.nokia.maps.b.a() (ARCameraImpl.java:184) 
E/art:  at boolean com.nokia.maps.a.r() (ARCamera.java:543) 
E/art:  at void com.nokia.maps.a.p() (ARCamera.java:508) 
E/art:  at void com.nokia.maps.a.a(boolean) (ARCamera.java:228) 
E/art:  at void com.nokia.maps.ARLayoutControl.onRequestToStartCamera(boolean) (ARLayoutControl.java:619) 
E/art:  at boolean com.nokia.maps.ARLayoutControl.startLivesight() (ARLayoutControl.java:-2) 
E/art:  at com.here.android.mpa.ar.ARController$Error com.nokia.maps.d.a() (ARControllerImpl.java:332) 
E/art:  at com.here.android.mpa.ar.ARController$Error com.here.android.mpa.ar.ARController.start() (ARController.java:2919) 
E/art:  at void com.mbrdi.anita.cabpool.screen.TravelGroupPickupDrop.startLiveSight(android.view.View) (TravelGroupPickupDrop.java:832) 
E/art:  at void com.mbrdi.anita.cabpool.screen.TravelGroupPickupDrop$4.onClick(android.view.View) (TravelGroupPickupDrop.java:335) 
E/art:  at boolean android.view.View.performClick() (View.java:5277) 
E/art:  at void android.view.View$PerformClick.run() (View.java:21711) 
E/art:  at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:815) 
E/art:  at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:104) 
E/art:  at void android.os.Looper.loop() (Looper.java:207) 
E/art:  at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:5896) 
E/art:  at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2) 
E/art:  at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:789) 
E/art:  at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:679) 
E/art:  in call to CallVoidMethodV 
E/art:  from boolean com.nokia.maps.ARLayoutControl.startLivesight() 
E/art: "main" prio=5 tid=1 Runnable 
E/art: | group="main" sCount=0 dsCount=0 obj=0x74bc3868 self=0xf3e37a00 
E/art: | sysTid=27152 nice=-6 cgrp=default sched=0/0 handle=0xf7590de4 
E/art: | state=R schedstat=(8532467750 683951359 18337) utm=643 stm=210 core=2 HZ=100 
E/art: | stack=0xff16c000-0xff16e000 stackSize=8MB 
E/art: | held mutexes= "mutator lock"(shared held) 

Помогите мне.

+1

От android 6.0 и выше вам нужно запросить [разрешения на запуск] (http://stackoverflow.com/questions/34150083/request-permission-at-runtime-for-android-marshmallow-6-0) –

+0

Почему CAMERA называется в навигации? проверка выполнения во время выполнения уже добавлена. –

ответ

0

С вашего callstack похоже, что приложение было запущено AR.

Е/искусство: в ничтожной com.nokia.maps.ARLayoutControl.onRequestToStartCamera (булево) (ARLayoutControl.java:619) Е/искусство: в булевой com.nokia.maps.ARLayoutControl.startLivesight() (ARLayoutControl. java: -2) E/art: at com.here.android.mpa.ar.ARController $ Ошибка com.nokia.maps.da() (ARControllerImpl.java:332) E/art: at com.here. android.mpa.ar.ARController $ Ошибка com.here.android.mpa.ar.ARController.start() (ARController.java:2919) E/art: at void com.mbrdi.anita.cabpool.screen.TravelGroupPickupDrop. startLiveSight (android.view.View) (TravelGroupPickupDrop.java:832) E/art: at void com.mbrdi.anita.cabpool.screen.TravelGroupPickupDrop $ 4.onClick (android.view.View) (TravelGroupPickupDrop.java:335) E/art: at boolean android.view.View.performClick() (View.java:5277)

Возможно, просто красная сельдь? что-то еще?

Смежные вопросы