【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/

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG