【发布时间】:2020-04-28 09:20:39
【问题描述】:
我有一个可以打开 web 视图的应用,但我发现我无法在最新版本的 android 中打开某些网站。
在我收到错误 Page not found 之前,但我正在搜索并找到 this link 它说:
android:usesCleartextTraffic
指示应用程序是否打算使用明文网络流量,例如明文 HTTP。面向 API 级别 27 或更低级别的应用的默认值为“true”。面向 API 级别 28 或更高级别的应用默认为“false”。
...
所以我在AndroidManifest.xml 中添加了android:usesCleartextTraffic="true",现在webview 是白色的并且什么都不显示
我的网络浏览活动:
public class WebviewUrl extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
setContentView(R.layout.activity_webview_url);
openURL();
}
private void openURL() {
Intent getUrl = getIntent();
String url = getUrl.getStringExtra("url");
webView = findViewById(R.id.webview);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl(url);
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
WebSettings webSettings = webView.getSettings();
webSettings.setDomStorageEnabled(true);
webSettings.setJavaScriptEnabled(true);
webSettings.setLoadsImagesAutomatically(true);
webView.getSettings().setSupportMultipleWindows(true);
webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
webView.setWebViewClient(new WebViewClient() {
@Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
webView.loadUrl("file:///android_asset/error.html");
} });
webView.addJavascriptInterface(new WebAppInterface(this), "Android");
}
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
}
else {
super.onBackPressed();
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
webView.saveState(outState);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
else
{
finish();
}
return super.onKeyDown(keyCode, event);
}
}
有人可以帮忙吗?
更新:现在再次出现找不到页面
【问题讨论】:
-
请不要用大写字母命名方法(OpenURL() 应该是 openUrl)????
标签: android android-studio webview