デバイスでwebviewが利用可能かどうかを確認する方法はありますか?android - webviewが利用可能かどうかを確認するにはどうすればいいですか?
背景: マニフェストに<uses-feature android:name="android.software.webview"/>
を追加すると、Google Playでサポートされるデバイスの数が12,000以上6,000未満のデバイスから減少します。だから私はこの機能にandroid:required="false"
を追加しました。ケースのWebViewで利用できるウェブサイトはそれ以外の場合は、デフォルトのブラウザで起動アプリ内に表示されるべきである。
String mUrl = "http://www.example.com";
if (*** WHAT TO PUT HERE? ***) {
WebView webview = (WebView) findViewById(R.id.webView);
if (Build.VERSION.SDK_INT >= 24) {
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.toString());
return false;
}
});
} else {
webview.setWebViewClient(new WebViewClient() {
@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
});
}
webview.loadUrl(mUrl);
} else {
Uri uri = Uri.parse(mUrl);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
編集(物事を明確にする):<uses-permission android:name="android.permission.INTERNET" />
がある(と常にされていた)マニフェストの一部。サポートされているデバイスのドロップを引き起こすのは<uses-feature android:name="android.software.webview" />
の追加だけです。
誰かがここで同じ問題を抱えてあります:https://issuetracker.google.com/issues/37035282 ので、それはあなたが必要なマニフェストにはない、それはインターネット接続 https://developer.android.com/reference/android/webkit/WebView.html 何常に利用可能です
この権限はすでにマニフェストに含まれています。 webviewが常に利用可能な場合、サポートされているデバイスの数はなぜ減少しますか? – klabauter