2014-02-10 13 views
7

У меня есть этот код для загрузки файла в мое приложение, и когда файл открывается файловым менеджером или Dropbox или что-то еще, возвращаемый путь правильный, и я могу доступ к нему, у меня только проблемы с Google Диском, он возвращает некоторый путь, начинающийся с «подвергается воздействию», и я не могу «декодировать» его каким-либо образом, я искал и не нашел способ, у кого есть идея?Android Get Uri путь к файлу с Google Диска

if (resultCode == Activity.RESULT_OK) { 
      if ((data != null) && (data.getData() != null)) { 
       final Uri filePath; 
       if (data.getDataString().startsWith("content")) { 
        filePath = getRealPathFromURI(getApplicationContext(), data.getData()); 
       } else { 
        filePath = data.getData(); 
       } 
       // TODO bug with google drive 
       if (filePath.getLastPathSegment() != null) { 
        tvSelectedFile.setText("File selected: " + filePath.getLastPathSegment()); 

       } else { 
        tvSelectedFile.setText("File can not be accessed, please try another way"); 
       } 

      } 
} 

ответ

-1

Используйте прилагаемый код ... от onActivity результат вы получите URI контента ... передать этот URI для данного метода ...

public static String getGDriveDataColumn(Context context, Uri uri, String selection, 
              String[] selectionArgs) { 
    Cursor cursor = null; 
    final String column = "_display_name"; 
    final String[] projection = { 
     column 
    }; 

    try { 
     cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null); 
     if (cursor != null && cursor.moveToFirst()) { 
      final int column_index = cursor.getColumnIndexOrThrow(column); 
      return cursor.getString(column_index); 
     } 
    } finally { 
     if (cursor != null) 
      cursor.close(); 
    } 
      return null;  

} 
+1

что я должен пройти как отбор и selectionArgs? Я попытался передать значение null, но я получил только имя файла, а не путь к файлу. – jcesarmobile

+0

Я также хотел бы узнать о том, что спросил @jcesarmobile. Это не ясно из ответа. – Nom1fan

+1

Да, я проверил этот код. Он дает имя файла – FaisalAhmed

Смежные вопросы