[解決済み] HTTPSなのにWebViewにERR_CLEARTEXT_NOT_PERMITTEDが表示される [重複]。
質問
Androidでアプリを作り始めたので、あまりないんです。今のところあるのはWebViewだけです。Android Studioでプロジェクトを作成したら、プロジェクトがAndroid InstantAppとして設定された。なぜ、どのようにかはわかりませんが、推測するに、プロジェクトを作成するときにそのためのオプションを見落としていたのだと思います。
WebViewからnet::ERR_CLEARTEXT_NOT_PERMITTEDというエラーが表示されました。このエラーをググってみると、アプリがInstantAppの場合、WebViewはHTTPSのサイトしか読み込めず、HTTPのサイトは読み込めないとのことでした。
このアプリの目的は、1つのサイトだけの極めてシンプルなFlashプレイヤーです。これは、Flashを必要とするゲームを実行する際のパフォーマンスを向上させるためです。このゲームは、HTTPSであるdarkorbit.comにあります。
MainActivity.java。
package com.tylerr147.darkorbit;
import android.content.ComponentName;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView wv = findViewById(R.id.webView1);
wv.loadUrl("https://darkorbit.com/");
wv.setWebViewClient(new CustomWebViewClient());
WebSettings webSettings = wv.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setPluginState(WebSettings.PluginState.ON);
}
}
とCustomWebViewClient.javaがあります。
package com.tylerr147.darkorbit;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class CustomWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
私の質問です。 自分のアプリをInstantAppとして無効にする方法、またはこのWebViewにサイトを表示させる方法を教えてください。
他にもいくつか触れておくことが重要だと感じています。 アプリの中でWebViewを表示しているところでは、"The webpage at http://darkorbit.com/ " couldn't be loaded because: net::ERR_CLEARTEXT_NOT_PERMITTED のため、読み込めませんでした。
のサイトで、" と書かれていることに注意してください。 http://darkorbit.com/ ..."ではなく、"...のサイト。 https://darkorbit.com/ ..."URLの文字列がハードコードされていて、"と書いてあるにもかかわらず。 https://darkorbit.com/ "。また、Android 9 を搭載した Google Pixel 2 として設定したエミュレータ上でアプリをテストしています。
何かお手伝いいただけると幸いです。ありがとうございます。
解決方法は?
解決方法
以下の行を
application
タグを使用します。
android:usesCleartextTraffic="true"
以下に示すとおりです。
<application
....
android:usesCleartextTraffic="true"
....>
UPDATEです。
などのネットワークセキュリティ設定をしている場合。
android:networkSecurityConfig="@xml/network_security_config"
上記のようにクリアテキストトラフィックをtrueに設定する必要はなく、以下のコードを使用します。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
....
....
</domain-config>
<base-config cleartextTrafficPermitted="false"/>
</network-security-config>
を設定します。
cleartextTrafficPermitted
から
true
お役に立てれば幸いです。
関連
-
adb シェルがデバイスのオフラインを求めるプロンプトを表示する
-
Android.mk:7: *** セパレータがありません。
-
アンドロイドプロジェクトのパッケージングにgradleを使用する際の問題点
-
アンドロイドリストビュー
-
Androidのカラーグラデーション実装のまとめ
-
アプリの実行エラー。ターゲットデバイスが見つからない問題
-
Android.support.v7.widget.Toolbar が見つかりませんでした。
-
android.content.ActivityNotFoundException を解決します。Intent問題を処理するActivityが見つからない
-
[解決済み] Androidのウェブビューでloadurlを呼び出すとブラウザが起動する
-
[解決済み] WebViewがURLの読み込みを終了したことを確認する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
Android.mk:7: *** セパレータがありません。
-
Gradle の同期に失敗しました。com.android.tools.build:gradle が見つかりませんでした。
-
gitlab 設定エラー。リモートリポジトリから読み込めなかったか、ホストキーの検証に失敗しました。
-
ライブラリをモジュールとしてインポートする際にエラーが発生しました。Error:A problem occurred configuring project ':library'.
-
GoogleMapと連携し、位置情報の取得が可能
-
問題 ---- Android ---- ActivityManager: Error: アクティビティクラス{xx/xx.MainActivity}が存在しない
-
Android ProgressBarのスタイルカラーを変更する
-
Androidのカラーグラデーション実装のまとめ
-
Android.support.v7.widget.Toolbar が見つかりませんでした。