2011-12-04 45 views
7

Tôi chỉ muốn xác nhận rằng không thể sử dụng máy ảnh mà không cần thẻ SD trên Android?Sử dụng máy ảnh không có thẻ SD trên Android

tôi bắn mục đích MediaStore.ACTION_IMAGE_CAPTURE sử dụng máy ảnh và đã cố gắng để có được máy ảnh để lưu trữ các hình ảnh trong thư mục ứng dụng dữ liệu

ContentValues values = new ContentValues(); 
    values.put(Media.TITLE, "Image"); 
    values.put(Images.Media.BUCKET_ID, path.hashCode()); 
    values.put(Images.Media.BUCKET_DISPLAY_NAME, name); 

    values.put(Images.Media.MIME_TYPE, "image/png"); 
    values.put(Media.DESCRIPTION, "Image capture by camera"); 
    values.put("_data", Constants.imagePath); 

    Uri uri = getContentResolver().insert(
      Media.EXTERNAL_CONTENT_URI, values); 
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri); 

    startActivityForResult(cameraIntent, PICTURE_ACTIVITY); 

tôi giả sử máy ảnh không thể truy cập vào thư mục ứng dụng dữ liệu

Vì vậy, không có thẻ SD, không có cách nào để sử dụng máy ảnh?

Trả lời

0

Nếu không có thẻ SD ứng dụng Camera sẽ hiển thị:

Vui lòng lắp thẻ SD trước khi sử dụng camera.

Vì vậy, không, không thể.

Edit: Kiểm tra Camera mã nguồn ứng dụng, updateStorageHint(int remaining) cho thấy rằng nó sẽ luôn hiển thị "Không lưu trữ" text nếu không có thẻ SD (cũng kiểm tra MenuHelper calculatePicturesRemaining()).

+0

cảm ơn cho câu trả lời – user964283

0

http://developer.android.com/guide/topics/media/camera.html#saving-media cho thấy rằng nó có thể lưu hình ảnh đến các địa điểm khác so với thẻ SD:

file Media ... nên được lưu vào thư mục lưu trữ bên ngoài của thiết bị (SD Card)

(nhấn mạnh của tôi)

Sử dụng lưu trữ nội bộ, tuy nhiên, nhanh chóng sẽ làm cạn kiệt những gì thường là một rất nguồn lực hạn chế và có nghĩa là các tệp chỉ di động với điện thoại chứ không phải thẻ SD đã tháo.

Tôi khuyên bạn nên cho độ tin cậy và vì lợi ích của 'thực hành tốt nhất' (cụm từ tôi không thích) bạn làm theo các đề xuất trong hướng dẫn đó.

Dường như ứng dụng máy ảnh tích hợp tuân thủ các phương pháp hay nhất này, nhưng có thể viết ứng dụng không.

+0

nghĩ tôi sẽ chỉ cần đảm rằng tính năng của ứng dụng đòi hỏi phải có thẻ SD như tôi tưởng tượng hầu như mọi người đều có một thẻ sd trong thiết bị Android của họ – user964283

+1

Không phải tất cả thiết bị Android đều có khe cắm thẻ microSD. Một số có "bộ nhớ trong" hoặc "bộ nhớ trong" hoặc một số "bộ nhớ USB" khác. Các thiết bị như vậy vẫn có thể lưu ảnh. –

2

Có một cách khác để bạn có thể thực hiện chụp ảnh bằng cách sử dụng tính năng Xem trước máy ảnh trên giao diện bề mặt của bạn.

Bằng cách sử dụng điều này, bạn có thể lưu hình ảnh trước đó và chụp. Bạn có thể vượt qua thư mục bộ nhớ cache của ứng dụng getCacheDir() phương thức ngữ cảnh.

Reference:

1) https://github.com/commonsguy/cw-advandroid/tree/master/Camera/Preview/
2) http://android-er.blogspot.in/2010/12/camera-preview-on-surfaceview.html

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