【androidHava】shouldOverrideUrlLoadingが非推奨になっていた

asaba 著者:asaba

【androidHava】shouldOverrideUrlLoadingが非推奨になっていた

webViewのリンクをクリックしたときにブラウザの開放を防ぐshouldOverrideUrlLoadingメソッドですが、少し古いコードをいじっていたところ偶然androidDeveloperでこのメソッドが非推奨だということを知りました。

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
  url.startsWith("summerrockfes://showCamera")
  return true;
}

今までは引数をString型で受け取っていましたが、これからはWebResourceRequestを引数に取らなければいけません。

@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request){
  String url = request.getUrl().toString();
  url.startsWith("summerrockfes://showCamera")
 return true; 
}

引数の型が違うのが分かります。startsWithプロパティですが、そのまま使うと型が違うのでエラーになります。startsWithプロパティを今まで通り使うには、事前にStringとして格納する必要があります。書き換えは以上になります。

・・・このメソッドの非推奨の狼煙が上がってから随分立つのですがが、実はそのまま直さなくてもまだ使えることが分かりました。変化が多かったAndroid7.0でも全然使えちゃうのですが、いつ廃止にされるか分からないので早めに書き換えておいたほうがいいかもしれないですね。

参考にさせていただいたページ↓

https://www.jaga.biz/android_dev/shouldoverrideurlloading-deprecated/

  • この記事いいね! (0)

著者について

asaba

asaba author

機種依存は悪い文明