2011-12-27 29 views
19

Tôi đang cố gắng chụp nhiều ảnh bằng ứng dụng máy ảnh thiết bị mặc định được khởi chạy thông qua mục đích (MediaStore.ACTION_IMAGE_CAPTURE). Với các thiết bị tôi đang thử nghiệm, máy ảnh khởi chạy, chụp ảnh, yêu cầu xác nhận, sau đó quay lại hoạt động của tôi, nơi tôi xử lý kết quả.Làm cách nào để chụp nhiều ảnh trước khi loại bỏ ý định máy ảnh?

Tôi đã xem xét sử dụng gọi lại của người nhận phát hoặc người quan sát nội dung; tuy nhiên, tôi không thể tìm cách khởi chạy camera và giữ cho nó hoạt động cho đến khi người dùng kết thúc. Nếu có thể, tôi muốn tránh phát triển một ứng dụng máy ảnh tùy chỉnh.

Lý do tôi phải làm điều này là vì người dùng thường cần chụp nhiều ảnh liên tiếp và trên một số thiết bị, thời gian khởi động của máy ảnh lên tới 5 giây và người dùng sử dụng phần mềm mất 10 - 30 ảnh liên tục ; không chỉ vậy, nhưng họ cần kiểm soát các thông số máy ảnh khác nhau.

Có cách nào để khởi chạy ý định máy ảnh và chỉ quay lại hoạt động của tôi sau khi người dùng thoát khỏi ứng dụng máy ảnh?

Trả lời

18

tôi khám phá qua các tài liệu SDK rằng có một hành động ý định thay thế cho camera của điện thoại mà ra mắt máy ảnh trong chế độ hình ảnh tĩnh và không lối ra cho đến khi người dùng được kết thúc với hoạt động:

Intent intent = new Intent(
    MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA); 
this.startActivity(intent); 

Cùng với một ContentObserver đây chính xác là những gì tôi cần để hoàn thành.

+0

nó hoạt động tốt. Nhưng khi tôi nhấn phím trở lại.i đang nhận con trỏ null.can con trỏ null bạn có thể gợi ý cho tôi cách tôi có thể loại bỏ nó. – Meghna

+0

@Chris Hutchinson: chụp nhiều hình ảnh của nó. nhưng làm thế nào để có được đường dẫn hình ảnh được chụp hoặc tên tệp vào ứng dụng của chúng tôi? – John

+0

Cách đây khá lâu, nhưng phương pháp tốt nhất tôi gặp phải là sử dụng ContentObserver để phát hiện khi một hình ảnh được tạo. Nếu bạn không tìm thấy điều đó đủ đáng tin cậy, bạn có thể kiểm tra xem đường dẫn có nằm trong thư mục camera của điện thoại hay không. Có thể có một API để định vị thư mục này. Tôi không thể nhớ. –

Các vấn đề liên quan