网站标题和图标显示在移动浏览器中,但未显示在android webview中

时间:2020-10-26 15:05:37

标签: java android wordpress webview

我为我的wordpress网站制作了一个应用程序。当我在chrome,firefox等移动浏览器中打开它时很好,但是在android webview中无法正常工作。它未在Android WebView中显示标题和图标。现在有什么解决方案。......

Chrome浏览器

在Webview中

Mainactivity.java代码 公共类MainActivity扩展了活动{

private WebView webView = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    this.webView = (WebView) findViewById(R.id.webview);

    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);

    WebViewClientImpl webViewClient = new WebViewClientImpl(this);
    webView.setWebViewClient(webViewClient);

    webView.loadUrl("http://www.chaderhut24.com");
    //webView.loadData("<html><body>Hello, world!</body></html>", "text/html", "UTF-8");
}


@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && this.webView.canGoBack()) {
        this.webView.goBack();
        return true;
    }

    return super.onKeyDown(keyCode, event);
}

}

webviewclientimpl.java 公共类WebViewClientImpl扩展了WebViewClient {

private Activity activity = null;

public WebViewClientImpl(Activity activity) {
    this.activity = activity;
}

@Override
public boolean shouldOverrideUrlLoading(WebView webView, String url) {
    if(url.contains("chaderhut24.com")) return false;

    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    activity.startActivity(intent);
    return true;
}

}

AndroidManifest.xml

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:usesCleartextTraffic="true"
    android:theme="@style/AppTheme"
    tools:targetApi="m">

    <activity
        android:name="chaderhut.feni.shopping.dagonbhuiyan.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

1 个答案:

答案 0 :(得分:1)

我认为这是由于Android WebView默认仅在网页的body标签之间加载内容的事实。 因此,要加载页面的标题和图标,您将必须使用自定义WebView。

A good example code is answered in this question

WebView类具有一些公共方法,如getTitle()和getFavicon()可能会对您有所帮助。

您可以参考官方的docs