#android #file #kotlin #local-storage #android-webview
Вопрос:
Я пытаюсь загрузить этот файл в свой веб-просмотр, но он не загружается
путь к файлу-это что-то вроде
- /data/user/0/com.xyzapp.app/cache/temp_file.docx //это getpathhh
ниже приведен мой код
первое занятие:-
val browseintent = Intent(this, WebviewActivityNew::class.java) browseintent.putExtra("url", "file://" getpathhh.toString()) startActivity(browseintent)
второе Мероприятие:-
val url = intent.extras!!.getString("url") webview_comp.getSettings().setLoadsImagesAutomatically(true); webview_comp.getSettings().setJavaScriptEnabled(true); webview_comp.getSettings().setAllowContentAccess(true); webview_comp.getSettings().setAllowFileAccess(true); webview_comp.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); webview_comp.getSettings().setAppCachePath(url); webview_comp.getSettings().setAppCacheEnabled(true); webview_comp.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); url?.let { webview_comp.loadUrl(it) };
если я использую Action_view
val pdfOpenintent = Intent(Intent.ACTION_VIEW) pdfOpenintent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP pdfOpenintent.setDataAndType(Uri.fromFile(getpathhh), "*/*") try { startActivity(pdfOpenintent) } catch (e: ActivityNotFoundException) { }
я получаю сбой как ‘E/uncaughtException: исключение android.os.FileUriExposedException: file:///data/user/0/com.xyzapp.app/cache/temp_file.docx доступно за пределами приложения с помощью Intent.getData()’
следуя тому, что я пробовал
val pdfOpenintent = Intent(Intent.ACTION_VIEW) pdfOpenintent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP pdfOpenintent.setDataAndType( FileProvider.getUriForFile( applicationContext, "com.xyzapp.app.provider", getpathhh ), "*/*") try { startActivity(pdfOpenintent) } catch (e: ActivityNotFoundException) { }
Комментарии:
1. Хорошо… что происходит не так?
2. @blackapps я отредактировал свой вопрос
3. Вы не искали в Google
FileUriExposedException
?Uri.fromFile(getpathhh
Вы больше не можете использовать Uri.fromFile (). Вы должны использоватьFileProvider
.4. можете вставить какую-нибудь ссылку или дать мне новый ответ, пожалуйста, @blackapps?
5. Погуглите для
FileUriExposedException
.
Ответ №1:
/data/user/0/com.xyzapp.app/cache/temp_file.docx
Веб-представление предназначено для документов .html.
Он не может отображать файл .docx.
Комментарии:
1. тогда как я могу загрузить это расположение файла??
2. Вы можете использовать ACTION_VIEW и позволить пользователю выбрать приложение из появившегося списка, которое может обрабатывать файлы .docx. Вы устанавливали такие приложения на свое устройство? (Я этого не делал).
3. я отредактировал свой вопрос
4. пожалуйста, я получаю сбой
5. Поймайте это исключение, и ваше приложение не выйдет из строя…. 😉