Android-Auto-Fokus funktioniert nicht, nachdem die Kamera-Ansicht erstellen

Ich versuche, um meine eigene Blick durch die Kamera, ich habe alles außer der Autofokus, ich kann nicht scheinen, um herauszufinden, warum es nicht funktionieren wird. Hier ist mein code für CameraView.java

public class CameraView extends SurfaceView implements SurfaceHolder.Callback {
    private SurfaceHolder surface_Holder;
    private  Camera main_Camera;
    boolean on;

    public CameraView(Context context, Camera camera){
        super(context);
        main_Camera = camera;
        main_Camera.setDisplayOrientation(90);
        surface_Holder = getHolder();
        surface_Holder.addCallback(this);
        surface_Holder.setType(SurfaceHolder.SURFACE_TYPE_NORMAL);
    }

    public boolean isOn(){
        return on;
    }


    @Override
    public void surfaceCreated(SurfaceHolder holder) {
        try{
            main_Camera.setPreviewDisplay(holder);
            main_Camera.startPreview();
        }catch (Exception e){
            Log.d("Error", "Canmera error on surfaceCreated" + e.getMessage());
            main_Camera.release();
            main_Camera = null;
        }

    }

    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

        if(holder.getSurface()==null){
            return;
        }
        try{
            main_Camera.stopPreview();
        }catch (Exception e){

        }
        try{

            main_Camera.setPreviewDisplay(surface_Holder);
            main_Camera.startPreview();
        }catch (IOException e){
            Log.d("Error", "Camera error on surfaceChanged " + e.getMessage());
        }
    }

    @Override
    public void surfaceDestroyed(SurfaceHolder holder) {
        main_Camera.setPreviewCallback(null);
        main_Camera.stopPreview();
        main_Camera.release();
        main_Camera= null;
    }
}

In meinem manifest habe ich Folgendes:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
  • Können Sie das code-Formatierung? Es ist ein bisschen unklar, mit Ihrer Platzierung von Auszeichnungen jetzt.
  • ist das besser?
  • Sieht viel besser aus.
InformationsquelleAutor Suji | 2015-12-28
Schreibe einen Kommentar