2011-11-28 50 views
8

Tôi cần lấy URI của một hình ảnh được lưu trữ trên SDCARD.Làm thế nào để có được Uri của một hình ảnh được lưu trữ trên SDCARD?

Khi tôi muốn để có được những Uri của một hình ảnh được lưu trữ trên drawable, tôi sử dụng này và nó hoạt động hoàn hảo:

i.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.image)); 

Nhưng nếu tôi muốn có được URI của một hình ảnh được lưu trữ trên SDCard, i cố gắng với điều này, và nó không hoạt động, một cái gì đó là sai:

i.putExtra(Intent.EXTRA_STREAM, Uri.parse("/mnt/sdcard/car.jpg")); 

Xin vui lòng, ai đó có thể cho tôi biết làm thế nào để có được đúng uri của một hình ảnh được lưu trữ trên sdcard?

Cảm ơn

+0

Các bạn đã thử i.putExtra (Intent.EXTRA_STREAM, Uri.parse ("file: //mnt/sdcard/car.jpg")) ;? Hãy cho tôi biết điều gì xảy ra .. – user370305

+0

Hãy xem tại đây http://stackoverflow.com/questions/3873496/how-to-get-image-path-from-images-stored-on-sd-card –

Trả lời

10
String filename = "image.png"; 
String path = "/mnt/sdcard/" + filename; 
File f = new File(path); // 
      Uri imageUri = Uri.fromFile(f);  
12

Luôn luôn sử dụng Environment.getExternalStorageDirectory() thay vì cứng mã hóa các con đường của thư mục lưu trữ bên ngoài. Bởi vì đường dẫn của thư mục lưu trữ bên ngoài có thể khác nhau ở các cấp API khác nhau.

Hãy thử điều này:

String fileName = "YourImage.png"; 
String completePath = Environment.getExternalStorageDirectory() + "/" + fileName; 

File file = new File(completePath); 
Uri imageUri = Uri.fromFile(file); 
Các vấn đề liên quan