facebook twitter hatena line email

Android/webview/非推奨コード

提供: 初心者エンジニアの簡易メモ
2018年8月23日 (木) 12:20時点におけるAdmin (トーク | 投稿記録)による版

移動: 案内検索

警告: [deprecation] WebViewClientのshouldOverrideUrlLoading(WebView,String)は非推奨になりました

shouldOverrideUrlLoadingはリンクでブラウザを開く関数(falseを返すと新規でブラウザを開かない)

private class CustomWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return false;
    }
}

↓ Build.VERSION_CODES.N以降専用のアノテーションを追加する

import android.annotation.TargetApi;
import android.os.Build;
import android.webkit.WebResourceRequest;
private class CustomWebViewClient extends WebViewClient {
    @TargetApi(Build.VERSION_CODES.N)
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        return false;
    }
    @SuppressWarnings("deprecation")
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return false;
    }
}

参考:https://trueman-developer.blogspot.com/2016/12/webviewclientshouldoverrideurlloading.html

警告: [deprecation] WebViewClientのonReceivedError(WebView,int,String,String)は非推奨になりました

エラーハンドラーを以下のように変更

public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {

import android.webkit.WebResourceRequest;
import android.webkit.WebResourceError;
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {

参考:https://qiita.com/eno314/items/3c7dd6ef7524765f4665

警告: [deprecation] WebChromeClientのonJsTimeout()は非推奨になりました

private class CustomWebChromeClient extends WebChromeClient {
    @Override
    public boolean onJsTimeout() {
        return false;
    }
}

private class CustomWebChromeClient extends WebChromeClient {
    @SuppressWarnings("deprecation")
    @Override
    public boolean onJsTimeout() {
        return false;
    }
}