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/