Я сделал приложение, используя Flutter и flutter_webview_plugin
и flutter_offline
(плагин). Результат, который я ищу, - это отображение экрана загрузки при открытии приложения, затем отображение онлайн-страницы (если она подключена), если нет, отображение 404 автономных страниц. Это должно происходить каждый раз, когда меняется соединение.
И я подумал, что решил это, потому что оно работает без сбоев на Android. Но на iOS он просто показывает Loading...
Не имеет значения, если он в сети или в автономном режиме.
Так что я думаю, что у меня есть некоторые проблемы с if
и else
, которые iOS не делает 'Т понять? Поскольку он переходит непосредственно к WebviewScaffold
и никогда не делает fwp.reloadUrl
при обнаружении состояния соединения.
Можно ли переписать этот код, чтобы iOS также его понимал?
Спасибо !
return new Scaffold(
body: OfflineBuilder(
connectivityBuilder: (
BuildContext context,
ConnectivityResult connectivity,
Widget child,
) {
final bool connected = connectivity != ConnectivityResult.none;
if (connected == true) { // Show link-page or URL from database
fwp.reloadUrl(urlToLoad);
}
else { // Offline 404
fwp.reloadUrl(Uri.dataFromString('<html><body>404</body></html>', mimeType: 'text/html').toString());
}
// Loading dots
return WebviewScaffold(
url: Uri.dataFromString('<html><body>Loading...</body></html>', mimeType: 'text/html').toString(),
withJavascript: true,
useWideViewPort: false,
withZoom: false,
scrollBar: false
);
},
child: Column(
),
),
);