24 Kasım 2015 Salı

URI'den Path Almak

Giriş
Intent ile başlatılan bir çok işlem sonuç olarak bize bir URI döner. URI'den path'i almak çok kolay değil.

MediaStore.Images
Şöyle alırız.
private String getRealPathFromURI(Uri contentURI) {
  Cursor cursor = getContentResolver().query(contentURI, null, null, null, null); 
  cursor.moveToFirst(); 
  int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA); 
  return cursor.getString(idx); 
}
MediaColumn
Şöyle alırız.
public String getRealPathFromURI(Uri contentUri) {
  String[] proj = { MediaColumns.DATA };
  Cursor cursor = managedQuery(contentUri, proj, null, null, null);
  int column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
  cursor.moveToFirst();
  return cursor.getString(column_index);
}
veya şöyle alırız.
private String getRealPathFromURI(Uri selectedVideoUri) {
  String filePath;
  final String[] filePathColumn = new String[] { MediaColumns.DATA };

  Cursor cursor = getContentResolver().query(selectedVideoUri,
            filePathColumn, null, null, null);
  cursor.moveToFirst();

  int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
  filePath = cursor.getString(columnIndex);
  cursor.close();
  return filePath;
}







Hiç yorum yok:

Yorum Gönder