私はフラッターでwebViewを実装しましたが、サーバー上にある私のphp Webサイトを開いていませんが、私は間違っています。
私はひらひらするのが初めてで、webviewを自分のアプリケーションに統合するためにwebviewを試しましたが、うまくいきません。
Widget build(BuildContext context) {
// TODO: implement build
return WebviewScaffold(
appBar: AppBar(iconTheme:IconThemeData(color: Colors.white),title: Text("Intake Form",style:new TextStyle(color: Colors.white,fontWeight: FontWeight.bold)),backgroundColor:Colors.indigoAccent,automaticallyImplyLeading: false),
url: url,
//url: "http://xxxxxxxx/",
withJavascript: true,
supportMultipleWindows: true,
withLocalStorage: true,
allowFileURLs: true,
enableAppScheme: true,
appCacheEnabled: true,
hidden: false,
scrollBar: true,
geolocationEnabled: false,
clearCookies: true,
// usesCleartextTraffic="true"
);
}
出力はwebviewを実行していると期待していますが、エラーがスローされます。
Flutterプロジェクトのメインディレクトリには、3つのメインフォルダーがあります。
- lib = your Dart code
- ios = generated structure for iOS platform
- Android = generated structure for Android platform
Android
ディレクトリに興味があります。開くと、「典型的なAndroidアプリの構造」と表示されます。
したがって、2つのことを行う必要があります。
res
に新しいファイルを追加するディレクトリに移動します。
my_flutter_project/Android/app/src/main/res/
xml
ディレクトリを作成します(res
!に)
そしてxml
内に、名前がnetwork_security_config.xml
でコンテンツが新しいファイルを追加します。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>
network_security_config.xml
はパスに配置する必要があります:
my_flutter_project/Android/app/src/main/res/xml/network_security_config.xml
ここで、このファイルの詳細を確認できます。
https://developer.Android.com/training/articles/security-config
移動:
flutter_project/Android/app/src/main/AndroidManifest.xml
AndroidManifest.xml
は、次の構造を持つXMLファイルです。
<manifest>
<application>
<activity>
...
</activity>
<meta-data >
</application>
</manifest>
したがって、<application>
PROPERTIESの場合は、1行追加する必要があります。
Android:networkSecurityConfig="@xml/network_security_config"
application
開始タグ内):<application
SOMEWHERE HERE IS OK
>
タグとしてではない:
<application> <--- opening tag
HERE IS WRONG!!!!
<application/> <--- closing tag
AndroidManifest.xmlで、[Android:usesCleartextTraffic="true"
] なので
<application
......
.......
Android:usesCleartextTraffic="true"
.............. >
<.........
................... />
..........
...........>
</application>
Androidバージョン9では機能しません