2017-02-07 6 views
0

В основном, мой вопрос несколько похож на this, и я использовал решение, данное этому. Проблема заключается в том, что будет работать, только если файл пришел из внутренней памяти, и это является причиной этого:Как создать файлы с использованием URI из внешнего sd?

в этой части кода (в растворе в вопросе я упомянул):

 if (isExternalStorageDocument(uri)) { 
      final String docId = DocumentsContract.getDocumentId(uri); 
      final String[] split = docId.split(":"); 
      final String type = split[0]; 

      if ("primary".equalsIgnoreCase(type)) { 
       return Environment.getExternalStorageDirectory() + "/" + split[1]; 
      } 
      // TODO handle non-primary volumes 
     } 

не существует еще заявление. Я искал способы получить доступ к таким нештатным томам , но я не могу найти ответа.

ответ

0

Код, содержащийся в этом вопросе и ответе ужасный. Для Uri нет необходимости указывать на файл, не говоря уже о файле, к которому вы можете получить доступ, не говоря уже о файле, путь которого вы можете получить из самого Uri. A Uri с схемой content - непрозрачная ручка, не более того.

Использование ContentResolver и openInputStream() (или openOutputStream()), чтобы получить поток на содержание идентифицированного Uri.

+0

Да, я думаю, что прочитал ваш комментарий где-нибудь об этом. Но я попробую этот openInputStream, который вы упомянули, тогда я дам обновление. – hehe

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

  • Нет связанных вопросов^_^