Android/webview/非推奨コード
提供: 初心者エンジニアの簡易メモ
2018年8月23日 (木) 12:18時点におけるAdmin (トーク | 投稿記録)による版 (→警告: [deprecation] WebChromeClientのonJsTimeout()は非推奨になりました)
警告: [deprecation] WebViewClientのshouldOverrideUrlLoading(WebView,String)は非推奨になりました
shouldOverrideUrlLoadingはリンクでブラウザを開く関数(falseを返すと新規でブラウザを開かない)
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; @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; } }