问题描述
我刚刚制作了一个简单的Web视图,当我将URL用作www.my-site.com时,它的运行效果非常好,但是当我放置自己的URL时,它没有显示在应用程序中,而是说您需要JavaScript才能运行此视图应用程式。我启用了Java脚本,现在该应用中没有显示任何内容。 这是我的代码:
package com.------;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
private WebView browser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
browser = (WebView) findViewById(R.id.webview);
browser.setWebViewClient(new WebViewClient());
browser.loadUrl("-----");
WebSettings webSettings1 = browser.getSettings();
webSettings1.setJavaScriptEnabled(true);
}
并显示:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.---------------">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
发现错误:
38:36.242 10536-10536/? E/------: UnkNown bits set in runtime_flags: 0x8000
2020-09-11 22:38:36.777 10536-10572/com---------- E/ion: ioctl c0044901 Failed with code -1: Invalid argument
解决方法
您所看到的代码很好,您说过(当我将URL用作www.google.com时,它可以很好地工作),它告诉您问题出在您的网站而不是Web视图中您的网站需要Java脚本,我认为您必须使用浏览器Java脚本引擎而不是Web视图引擎chrome Java脚本引擎
要使用Chrome Java脚本引擎,您可以使用Chrome自定义标签在应用程序上打开Chrome标签。Chrome自定义标签可让应用自定义Chrome的外观和风格。应用可以更改以下内容:
工具栏颜色输入和退出动画向Chrome工具栏,溢出菜单和底部工具栏添加自定义操作如果要在应用程序中托管自己的内容,则WebView是很好的解决方案。如果您的应用将人们引导到您域外的URL,我建议您使用Chrome自定义标签。完整的示例位于https://github.com/GoogleChrome/custom-tabs-client。它包含可重用的类以自定义UI,