Reputation: 333
Android WebPage showing net::ERR_ACCESS_DENIED while opening Android activity Embedded with with WebPage Tag
I tried to provide permission in Android Manifest.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
webview:
WebView webView;
webView = (WebView)findViewById(R.id.webbrowser);
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webView.loadUrl("http://basic-testing-faq.blogspot.com/");
I getting net::ERR_ACCESS_DENIED
Upvotes: 12
Views: 30979
Reputation: 133
The following finally worked for me
package com.example.webview01;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
private WebView web;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
web = (WebView) findViewById(R.id.webv);
web.setWebViewClient(new WebViewClient());
web.loadUrl("https://www.google.com/");
WebSettings websettings = web.getSettings();
websettings.setJavaScriptEnabled(true);
websettings.setAllowContentAccess(true);
websettings.setAppCacheEnabled(true);
websettings.setDomStorageEnabled(true);
websettings.setUseWideViewPort(true);
}
@Override
public void onBackPressed() {
super.onBackPressed();
if (web.canGoBack()){
web.goBack();
}else{
super.onBackPressed();
}
}
}
The following lines must be included
WebSettings websettings = web.getSettings();
websettings.setJavaScriptEnabled(true);
Upvotes: 0
Reputation: 11
All you need, clear the data, un-install the app an re-installed it. After that, put this code to
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
and put this code to webview class
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowContentAccess(true);
webSettings.setAppCacheEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setUseWideViewPort(true);
Upvotes: 1
Reputation: 2887
Make sure internet permission is given and add android:usesCleartextTraffic="true"
if you use http website.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="in.example.application">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"
tools:targetApi="m">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.VIEW"/>
</intent-filter>
</activity>
</application>
Upvotes: 6
Reputation: 569
This works for me:
wvMakFukinWalker = findViewById(R.id.wv_mak);
// wvMakFukinWalker is my WebView
// wv_mak the id
WebSettings webSettings = wvMakFukinWalker.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setAllowContentAccess(true);
webSettings.setAppCacheEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setUseWideViewPort(true);
wvMakFukinWalker.setWebViewClient(new WebViewClient());
wvMakFukinWalker.loadUrl("http://yourdomain.com/");
// webSettings.setDomStorageEnabled(true); ==>> I think: this is your solution
Upvotes: 0