我有一个 flutter 应用程序,可以在 WiFi 下正常工作,但当我切换到移动数据时,它无法工作。我已检查并且有互联网连接,因为我的其他网站和应用程序正在运行。
在 Android 方面,我的清单中有:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)
然后在应用程序标签内:
<meta-data android:name="io.flutter.network-policy"
android:resource="@xml/network_security_config"/>
Run Code Online (Sandbox Code Playgroud)
然后在 network_security_config.xml 文件中我有:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">www.mydomain.com</domain>
</domain-config>
</network-security-config>
Run Code Online (Sandbox Code Playgroud)
我正在使用 nb_utils 包,它在幕后使用connectivity_plus来检查互联网连接并检查我拥有的连接:
ConnectivityResult connectivityResult = await (Connectivity().checkConnectivity());
if (connectivityResult == ConnectivityResult.mobile) {
print('I have Data access');
return true;
} else if (connectivityResult == ConnectivityResult.wifi) {
print('I have WIFI access');
return true;
}
print('I have NO access');
return false;
Run Code Online (Sandbox Code Playgroud)
当我连接到移动数据时,我在控制台中打印出“我有数据访问权限”。
起初,我在 URI 上使用http://shop.mydomain.com,但后来我必须在我的域上应用 SSL 证书以查看其是否正常工作,但使用https://shop.mydomain.com仍然得到相同的结果。我的控制台中也没有收到任何错误。我还没有在 iOS …