Chụp ảnh

Lưu ý: Trang này đề cập đến lớp Camera (không dùng nữa). Bạn nên dùng CameraX hoặc Camera2 (trong một số trường hợp sử dụng cụ thể). Cả CameraX và Camera2 đều hỗ trợ Android 5.0 (API cấp 21) trở lên.

Bài học này sẽ hướng dẫn bạn chụp ảnh bằng cách uỷ quyền công việc cho một ứng dụng máy ảnh khác trên thiết bị. (Nếu bạn muốn tự tạo chức năng máy ảnh, hãy xem bài viết Điều khiển máy ảnh.)

Giả sử bạn đang triển khai một dịch vụ thời tiết sử dụng nguồn lực cộng đồng giúp tạo bản đồ thời tiết toàn cầu bằng cách kết hợp các bức ảnh bầu trời được chụp bằng các thiết bị chạy ứng dụng khách. Việc tích hợp ảnh chỉ là một phần nhỏ trong ứng dụng. Bạn muốn chụp ảnh mà không tốn nhiều công sức và không phải đổi mới máy ảnh. Thật may là hầu hết thiết bị chạy Android đều đã cài đặt ít nhất một ứng dụng máy ảnh. Trong bài học này, bạn sẽ tìm hiểu cách chụp ảnh bằng ứng dụng.

Yêu cầu tính năng máy ảnh

Nếu chức năng thiết yếu của ứng dụng là chụp ảnh, hãy hạn chế chế độ hiển thị của chức năng này trên Google Play đối với những thiết bị có máy ảnh. Để quảng cáo rằng ứng dụng này phụ thuộc vào việc có máy ảnh, hãy đặt thẻ <uses-feature> vào tệp kê khai của bạn:

<manifest ... >
    <uses-feature android:name="android.hardware.camera"
                  android:required="true" />
    ...
</manifest>

Nếu ứng dụng của bạn dùng máy ảnh nhưng không cần phải có máy ảnh mới hoạt động được, hãy đặt android:required thành false. Khi làm như vậy, Google Play sẽ cho phép những thiết bị không có máy ảnh tải ứng dụng của bạn xuống. Sau đó, bạn có trách nhiệm kiểm tra để biết khả năng hoạt động của máy ảnh trong thời gian chạy bằng cách gọi hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY). Nếu máy ảnh không sử dụng được, bạn nên tắt các tính năng của máy ảnh.