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.
Camera trong android – Các xử lý
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);
Camera trong android – Ví dụ
Tạo activity tên CameraActivity
Thiết kế layout
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
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