Camera trong android (Bài 5)

Để sử dụng camera trong android chúng ta sử dụng ứng dụng máy ảnh Android trong ứng dụng có sẵn. Bạn sẽ sử dụng MediaStore.ACTION_IMAGE_CAPTURE để khởi động một ứng dụng camera được cài trên điện thoại của bạn.

Các xử lý camera trong android

Tạo đối tượng Intent

Intent it = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

Sử dụng phương thức startActivityForResult() để khởi động activity và chờ đợi kết quả trả về. Chúng ta xử lý kết quả trả về tại phương thức onActivityResult(). Phương thức startActivityForResult được định nghĩa trong lớp activity và chúng ta sẽ gọi nó trong activity chính.

startActivityForResult(it, 0);

Ví dụ về xử lý camera trong android

camera trong android

Tạo activity tên CameraActivity

Thiết kế layout

camera trong android 2

Viết xử lý

import android.content.Intent;
import android.graphics.Bitmap;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

public class CameraActivity extends AppCompatActivity {

    ImageView ivCapture;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_camera);

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

    }

    public void captureAction(View v) {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(intent, 0);
    }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);

        Bitmap bp = (Bitmap) data.getExtras().get("data");
        ivCapture.setImageBitmap(bp);
    }
}

Đăng ký sự kiện onClick cho button

camera trong android 3

Trường hợp bạn chạy ứng dụng trên thiết bị ảo (Emulator), phải thiết lập camera như sau

camera trong android 4

Xem giáo trình môn Phát triển App Android

Trả lời