Как я могу открыть файлы PDF с веб-страницы через приложение для Android

Недавно я создал приложение для Android, используя веб-просмотр в Android Studio, но оно не открывает/загружает файлы PDF с веб-сайта. Есть ли способ позволить пользователям открывать файлы PDF с веб-страницы, не добавляя их в приложение. Я хочу обновить файлы PDF на веб-сайте, не меняя приложение.

Это мой код сейчас:

    package com.something.app;

public class MainActivity extends AppCompatActivity {

    private WebView myWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myWebView = (WebView)findViewById(R.id.webView);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        myWebView.loadUrl("something");
        myWebView.setWebViewClient(new WebViewClient());
    }

    @Override
    public void onBackPressed() {
        if (myWebView.canGoBack()) {
            myWebView.goBack();
        } else {
            super.onBackPressed();
        }

    }
}

(Для ясности: я сделал приложение с веб-сайта, используя функцию веб-просмотра в Android Studio. На веб-странице, на которую я ссылаюсь, есть файлы в формате pdf. Если попытаться открыть их в приложении, это ничего не делает. Если я откройте файлы PDF в веб-браузере, который отправляет вам URL-адрес файла PDF. Есть ли способ сделать это в приложении.)

Daniel 11.12.2020 01:08

Webview не может отображать PDF-документ.

blackapps 11.12.2020 08:19
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
953
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте использовать для этого pdfviewer. Это намного лучше, чем использование веб-просмотра. Ссылка на гитхаб вот такая: https://github.com/barteksc/AndroidPdfViewer

Это более полезно, потому что им легко пользоваться.

Все, что вам нужно, это этот код:

построить градиент (приложение):

implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'

main.java

pdfView = (PdfView) findViewById(R.id.pdfview);
Uri a = new Uri("*your URL*");
pdfView.fromUri(a).load();

Есть ли способ открыть PDF-файл с веб-страницы, не добавляя его в сценарий, чтобы при добавлении нового PDF-файла на веб-сайт он сразу же работал?

Daniel 11.12.2020 00:52

Это будет зависеть от веб-сайта. Разве на сайте не всего 1 pdf? Тогда как бы вы добавили к этому новый pdf?

SatvikVejendla 11.12.2020 01:13

Нет, веб-сайт — это просто URL-адрес. На веб-сайт встроен PDF-файл, но я не могу открыть его в своем приложении.

Daniel 11.12.2020 10:21

Если вы перейдете на вкладку «Проверка», вы можете найти фактический URL-адрес pdf. Пожалуйста, поделитесь URL, чтобы я мог попытаться помочь вам

SatvikVejendla 11.12.2020 15:07
pastebin.com/ZHs3yfk1 это, например, файл, который я хочу открыть в html. Я не могу поделиться сайтом, потому что вам нужно войти в систему. Моя цель - мгновенно открыть/загрузить PDF-файл, не добавляя URL-адрес в скрипт приложения.
Daniel 11.12.2020 15:50
Ответ принят как подходящий

Если вы хотите открыть PDF во встроенном браузере устройства:

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(pdf_url));
startActivity(browserIntent);

Или вместо этого в веб-представлении:

 Webview webView = (WebView) findViewById(R.id.webView1);
 webView.getSettings().setJavaScriptEnabled(true);
 webView.loadUrl(pdf_url);

Другие вопросы по теме