Android 无法使用camerakit拍照

Android 无法使用camerakit拍照,android,camera,photo,Android,Camera,Photo,我正在关注这个文档 我想拍张照片,但找不到确切的密码。 当我在onCreate方法中编写此代码时,android studio对我说这不是正确的代码: camera.setCameraListener(new CameraListener() { @Override public void onPictureTaken(byte[] picture) { super.onPictureTaken(picture); // Create a bit

我正在关注这个文档 我想拍张照片,但找不到确切的密码。 当我在onCreate方法中编写此代码时,android studio对我说这不是正确的代码:

camera.setCameraListener(new CameraListener() {
    @Override
    public void onPictureTaken(byte[] picture) {
        super.onPictureTaken(picture);

        // Create a bitmap    
        Bitmap result = BitmapFactory.decodeByteArray(picture, 0, picture.length);
    }
 });

camera.captureImage();
这是我的全部代码:

public class MainActivity extends AppCompatActivity {

    CameraView cameraView;
    ImageView img_photo;
    Bitmap photo;
    Button btt_scatta;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_main);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

        //Get root view from Activity
        final View rootView = getWindow().getDecorView().findViewById(android.R.id.content);

        cameraView = (CameraView) findViewById(R.id.camera);
        cameraView.setFacing(CameraKit.Constants.FACING_FRONT);
        btt_scatta = (Button) findViewById(R.id.btt_scatta);

        img_photo = (ImageView) findViewById(R.id.img_photo);

        camera.setCameraListener(new CameraListener() {
        @Override
        public void onPictureTaken(byte[] picture) {
            super.onPictureTaken(picture);

            // Create a bitmap    
            Bitmap result = BitmapFactory.decodeByteArray(picture, 0, picture.length);
        }
     });

        btt_scatta.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                photo = getScreenShot(rootView);
                img_photo.setImageBitmap(photo);
            }
        });


    }

    @Override
    protected void onResume() {
        super.onResume();
        cameraView.start();
    }

    @Override
    protected void onPause() {
        cameraView.stop();
        super.onPause();
    }

    //Capture the root view
    public static Bitmap getScreenShot(View view) {
        View screenView = view.getRootView();
        screenView.setDrawingCacheEnabled(true);
        Bitmap bitmap = Bitmap.createBitmap(screenView.getDrawingCache());
        screenView.setDrawingCacheEnabled(false);
        return bitmap;
    }

    //Store the Bitmap into the phone
    public static void store(Bitmap bm, String fileName){
        final String dirPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Screenshots";
        File dir = new File(dirPath);
        if(!dir.exists())
            dir.mkdirs();
        File file = new File(dirPath, fileName);
        try {
            FileOutputStream fOut = new FileOutputStream(file);
            bm.compress(Bitmap.CompressFormat.PNG, 85, fOut);
            fOut.flush();
            fOut.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
我已经遵循了整个代码,没有任何结果。您可以在github网站上找到代码: 我的工作范围是创建一个应用程序,从您的相机拍摄照片,然后在Imageview中向您显示照片。 我想说的是,相机可以很好地使用这个代码。我的相机没有问题,只是在拍照的那一刻。 谢谢大家。

你应该打电话

camera.captureImage()

在btt_scatta的单击侦听器中。

调用此方法后,我得到了什么?我如何将照片保存到位图中?您最终进入
CameraListener
onPictureTaken
,其中有一个字节数组,可以解码为位图。如文件[1]所述: