.NET MAUI プロジェクトで[WebView]を利用する場合に[Webpage not available net::ERR_CLEARTEXT_NOT_PERMITTED]が表示される場合の対処法を備忘録的に投稿します。
既定値では[HTTP]接続が使えない
原因は配置した[WebView]コントロールの[Source]プロパティ。
[ERR_CLEARTEXT_NOT_PERMITTED]の場合、クリアテキストが許可されていないというのが理由です。
一昔前は、HTTP接続を許可しているサーバーも多かったですが現在は、HTTPS接続のみが一般的という潮流で[WebView]コントロールも既定値ではHTTP接続のURLを許可してくれません。
マニュフェストの編集で許可
実際にインターネット上で稼働させる場合には推奨されませんが、開発時にはHTTP接続の方が都合が良い場合があります。
[AndroidManifest.xml]を編集して[HTTP接続]を許可できます。
具体的には次の手順で[HTTP接続]が許可できます。
1.[ソリューション エクスプローラー]画面で[Platforms|Android]フォルダー内の[AndroidManifest.xml]を右クリックして表示されたポップアップメニューで[ファイルを開くアプリケーションの選択]をクリックします。
2. 表示された[プログラムから開く]画面で[ソース コード(テキスト)エディター]を選択して開きます。
3.[AndroidManifest.xml]ファイルの[Application]に[usesCleartextTraffic]を追加します。(下コードの太字部分)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:usesCleartextTraffic="true" android:roundIcon="@mipmap/appicon_round" android:supportsRtl="true"></application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
まとめ
今回は短い記事ですが、.NET MAUI プロジェクトで[WebView]を利用する場合に[Webpage not available net::ERR_CLEARTEXT_NOT_PERMITTED]が表示される場合の対処法について書きました。
エラーの原因は[WebView]の[Source]プロパティにHTTP接続のURLを設定した場合に表示されます。
[AndroidManifest.xml]ファイルの[Application]に[usesCleartextTraffic]の追加でエラー表示が解消されます。
C#の.NET MAUI アプリで[WebView]に設定したURLが表示されず[ERR_CLEARTEXT_NOT_PERMITTED]メッセージが表示されてしまう人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。