2012-01-31 18 views
16

Tôi đang sử dụng được xây dựng trong bảng chọn hình ảnh Android như sau:chọn hình ảnh Android cho các tập tin địa phương chỉ

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
m_activity.startActivityForResult(photoPickerIntent, PHOTO_PICKER_ID); 

Có cách nào để hạn chế này để hiển thị các file chỉ có sẵn tại địa phương. Trên thiết bị của tôi, nó hiện đang chọn hình thu nhỏ của Picasa và tôi muốn loại trừ tất cả các hình ảnh không thực sự có trên thiết bị.

+0

Dường như bạn đang sử dụng một số ứng dụng đã lưu hình thu nhỏ Picasa trên sdcard của bạn. Mã có vẻ là tốt – Arslan

Trả lời

48

Thêm intent.putExtra (Intent.EXTRA_LOCAL_ONLY, true); sẽ chỉ cho phép các tệp cục bộ. Nó sẽ loại trừ hình ảnh picasa. Hi vọng điêu nay co ich.

Intent intent = new Intent(); 
    intent.setType("image/*"); 
    intent.setAction(Intent.ACTION_GET_CONTENT); 
    intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true); 
    startActivityForResult(Intent.createChooser(intent, 
      "Complete action using"), PHOTO_PICKER_ID); 
+7

Vấn đề duy nhất với 'EXTRA_LOCAL_ONLY'flag là nó [chỉ có sẵn từ Honeycomb] (http: // developer. android.com/reference/android/content/Intent.html#EXTRA_LOCAL_ONLY). Hãy chắc chắn kiểm tra API trước khi sử dụng nó. –

+0

bất kỳ cách giải quyết nào cho tiền mật ong – desgraci

+1

Nó giải quyết một hằng số. Trong tổ ong trước, bạn có thể chỉ định chuỗi không đổi "android.intent.extra.LOCAL_ONLY" – Paul

-3

Sử dụng mã này để khởi chạy ý định lấy trình chọn hình ảnh cục bộ.

Intent intent = new Intent(); 
intent.setType("image/*"); 
intent.setAction(Intent.ACTION_GET_CONTENT); 

startActivityForResult(Intent.createChooser(intent, 
       "Complete action using"), PHOTO_PICKER_ID); 
+0

điều này có ngăn chặn việc chọn ppl từ album picasa không? – ChuckKelly

+0

no ....................... – tomi