2016-08-15 2 views
0

Когда в ионную я с помощью плагина Фонарик при вызове метода @TargetApi(23) private void setTorchMode(CameraManager cameraManager, String id, boolean switchOn) throws CameraAccessException { // since folks may not use SDK 23 to compile we'll use reflection as a temporary solution try { final Method setTorchMode = cameraManager.getClass().getMethod("setTorchMode", String.class, boolean.class); setTorchMode.invoke(cameraManager, id, switchOn); callbackContext.success(); } catch (Throwable t) { callbackContext.error(t.getMessage()); } }Использование ионного плагин фонарик вызов аварии java.lang.IllegalArgumentException: Приемник не зарегистрирован: android.hardware.camera2.CameraManager

я получить

FATAL EXCEPTION: main Process: uk.co.sparkenergy.androidapp2, PID: 31200 java.lang.IllegalArgumentException: Receiver not registered: [email protected] at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:793) at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1200) at android.hardware.camera2.CameraManager$3.run(CameraManager.java:1266) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5763) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) только 1 устройство Sony e5633, помогите пожалуйста)

ответ

0

все, что нужно использовать устаревший метод

Camera cam = Camera.open(); 
if(switchOn){ 
    Camera.Parameters p = cam.getParameters(); 
    p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); 
    cam.setParameters(p); 
    cam.startPreview(); 
} else { 
    cam.stopPreview(); 
    cam.release(); 
} 

вместо

try { 
    final Method setTorchMode = cameraManager.getClass().getMethod("setTorchMode", String.class, boolean.class); 
    setTorchMode.invoke(cameraManager, id, switchOn); 
    callbackContext.success(); 
} catch (Throwable t) { 
    callbackContext.error(t.getMessage()); 
} 
Смежные вопросы