2015-11-08 6 views
0

У меня возникла проблема в моем приложении для Android, где, когда я пытался загрузить файл, который я загрузил с помощью электронной почты, я получаю ошибку java.io.FileNotFoundException. Это странно, потому что файл явно отображается в списке «Загрузки», но, похоже, он не найден, когда мое приложение пытается его открыть. Ошибка ссылается на каталог «/ document», который физически не существует на устройстве. Кажется, что это может быть связано с каким-то механизмом передачи файлов с помощью намерений, но я чего-то не хватает. Я пробую это как на Samsung Galaxy Tab 4 с 4.4.2, так и на разных версиях Android-эмулятора. Я получаю ту же проблему во всем, что я смотрю. Ниже я включил сообщение об ошибке.Ошибка при доступе к загружаемым файлам на Android

Любая помощь с этим была бы оценена.

Спасибо !!!

11-07 23: 23: 13,324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: Файл выберите ошибку 11-07 23: 23: 13,324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: java.io.FileNotFoundException:/document/1677: open не удалось: ENOENT (Нет такого файла или каталога) 11-07 23: 23: 13.324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: at libcore.io.IoBridge.open (IoBridge.java:409) 11-07 23: 23: 13.324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: at java.io.FileInputStream. (FileInputStream.java:78) 11-07 23: 23: 13.324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: на java.io.FileReader (FileReader.java:42) 11-07. 23: 23: 13,324 12193-12193/com.xxxxxx.yyyyyyyyy Е/ImportActivity: в com.xxxxxx.yyyyyyyyy.ImportActivity.onActivityResult (ImportActivity .java: 210) 11-07 23: 23: 13.324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: at android.app.Activity.dispatchActivityResult (Activity.java:5643) 11-07 23:23 : 13.324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: at android.app.ActivityThread.deliverResults (ActivityThread.java:3677) 11-07 23: 23: 13.324 12193-12193/com.xxxxxx.yyyyyyyyyy E/ImportActivity: at android.app.ActivityThread.handleSendResult (ActivityThread.java:3724) 11-07 23: 23: 13.324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: at android.app.ActivityThread.access $ 1400 (ActivityThread.java:175) 11-07 23: 23: 13.324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1356) 11-07 23: 23: 13.324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: at android.os.Handler.dispatchMessage (обработчик .java: 102) 11-07 23: 23: 13.324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: at android.os.Looper.loop (Looper.java:146) 11-07 23:23: 13.324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: at android.app.ActivityThread.main (ActivityThread.java:5602) 11-07 23: 23: 13.324 12193-121 93/com.xxxxxx.yyyyyyyyy E/ImportActivity: at java.lang.reflect.Method.invokeNative (родной метод) 11-07 23: 23: 13.324 12193-12193/com.xxxxxx.yyyyyyyyy E/ImportActivity: at java.lang.reflect.Method.invoke (Method.java:515) 11-07 23: 23: 13,324 12193-12193/com.xxxxxx.yyyyyyyyy Е/ImportActivity: в

+0

Покажите нам свой файл AndroidManifest.xml. – TdSoft

+0

Вы можете поделиться фрагментом кода с нами. Ясно, что он не смог открыть или найти каталог или файл. –

ответ

0
/document/1677 

То есть а не путь к файловой системе, а часть пути поставщика контента.

Вы увидите полный путь с url.getPath().

Вы можете открыть входной поток к документу с

getContentResolver.openStream(url); 
+0

Вот и все! Я изменил свой последний файл 'File file = FileUtils.getFile (uri);' на 'InputStream input = getContentResolver(). OpenInputStream (uri);' (и добавил вокруг себя соответствующих читателей), и все сработало отлично. Благодаря! – redshoulderedhawk

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