2016-02-15 4 views
1

я пытаюсь запустить этот код, но он сказал, что есть некоторые вещи, не нашел в framworke.jarандроид апи 21+ Camera2 апи

super.onCreate(savedInstanceState); 
    CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); 

    String id = null; 
    try { 
     id = manager.getCameraIdList()[0]; 
    } catch (CameraAccessException e) { 
     e.printStackTrace(); 
    } 
    try { 
     manager.setTorchMode(id,true); 
    } catch (CameraAccessException e) { 
     e.printStackTrace(); 
    } 

, но я получил эту ошибку,

02-15 01:03:33.794 32378-32378/com.phenix.testcam E/AndroidRuntime: FATAL EXCEPTION: main 
                   Process: com.phenix.testcam, PID: 32378 
                   java.lang.NoSuchMethodError: No virtual method setTorchMode(Ljava/lang/String;Z)V in class Landroid/hardware/camera2/CameraManager; or its super classes (declaration of 'android.hardware.camera2.CameraManager' appears in /system/framework/framework.jar) 
                    at com.phenix.testcam.MainActivity.onCreate(MainActivity.java:29) 
                    at android.app.Activity.performCreate(Activity.java:5990) 
                    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332) 
                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442) 
                    at android.app.ActivityThread.access$800(ActivityThread.java:156) 
                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351) 
                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                    at android.os.Looper.loop(Looper.java:211) 
                    at android.app.ActivityThread.main(ActivityThread.java:5373) 
                    at java.lang.reflect.Method.invoke(Native Method) 
                    at java.lang.reflect.Method.invoke(Method.java:372) 
                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020) 
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815) 

plz Мне нужны некоторые объяснения

ответ

3

setTorchMode() был добавлен в API 23 - У устройств API 21-22 этот метод не будет.

+1

спасибо. есть ли способ контролировать приложение факела с api 22 или 21. – tarik203

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