webview loadUrl (пример контент-провайдера - PullRequest
0 голосов
/ 12 октября 2018

Я обнаружил, что метод webview loadUrl () работает со многими типами: наконец, я видел это также

content: // URL-адреса, указывающие на ContentProvider, который публикует контент, доступный для потоковой передачи

изhttps://www.journaldev.com/9333/android-webview-example-tutorial.

content: // URL-адреса, указывающие на ContentProvider, который публикует контент, доступный для потоковой передачи

Я много искал, чтобы найти пример того, как веб-просмотр загружает веб-страницу, используя "content:// "URL.У меня есть одна ссылка,

http://web.archive.org/web/20101108043507/http://www.techjini.com/blog/2009/01/10/android-tip-1-contentprovider-accessing-local-file-system-from-webview-showing-image-in-webview-using-content/

, но она не завершена.

Я новичок, поэтому я не знаю о контент-провайдере.Пожалуйста, дайте мне пример загрузки веб-страницы с помощью loadUrl ("content: // имя пакета / htmlfile.html") в веб-просмотре.

например: webview.loadUrl ("content: // имя пакета / htmlfile.html ")

Приведите пример, было бы хорошо, если бы он объяснил об этом или ссылку на код github.

1 Ответ

0 голосов
/ 12 октября 2018

WebView - это пример класса View для Android, который позволяет отображать веб-страницы как часть макета вашей деятельности.По умолчанию WebView выполняет только отображение веб-страницы.

Добавление WebView в ваше приложение

Чтобы добавить WebView в ваше приложение, вы можете включить<WebView> элемента в макете вашей деятельности или задайте все окно «Активность» как веб-представление в onCreate().

Загрузите веб-представление

Чтобы загрузить веб-страницу вWebView в WebView, используйте loadurl().

WebView webView = (WebView) findViewById(id);
webView.loadUrl("https://www.page.com") // incase you are loading page from 
server.

//Loading page from an asset folder

Чтобы загрузить локально доступный файл HTML, поместите файл HTML в папку android / assets. Используйте следующий код для загрузки его в веб-просмотр

webView.loadUrl("file:///android_asset/www/termofservice.html);

Если у вас нетВ соответствии с определенным требованием пользователя, вы не должны загружать HTML-страницы, используя протокол content: // вместо использования file: // для автономных файлов и http:// для файлов, доступных на удаленном сервере.

Прежде чем все это заработаетоднако ваше приложение должно иметь доступ к интернет-разрешениям, которые вы можете получить, расшифровав это в своем манифесте:

<manifest ...>
     <uses-permissions android:name = "android.permission.INTERNET"/>
</manifest... >

В SDK 21 и выше вам придется явно запросить это разрешение: в MainActivity.java:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        requestPermissions(new String[] Manifest.permission.INTERNET}, REQUEST_INTERNET_PERMISSION);
    }

Вы можете самостоятельно проверить разрешение перед загрузкой, если пользователь WebView Incase отказал вам в конкретном разрешении.

int permissionStatus = ActivityCompat.checkSelfPermission(application, Manifest.permission.INTERNET);
    if (permissionStatus == PackageManager.PERMISSION_GRANTED)
        return true;
    else if (permissionStatus == PackageManager.PERMISSION_DENIED)
        return false;
    else
        return false;
...