如何验证用户是否具有网络访问权限,如何在没有

时间:2018-09-11 15:13:26

标签: android firebase flutter firebase-storage

我叫Pablo,我正在开发Flutter应用。因此,我的应用程序从Firebase Storage获取了一些图像和音频,并且显然,如果没有Internet连接,该应用程序将不会显示图像,也不会播放音频。 我希望该应用在没有WIFI或数据的情况下向用户弹出警报;我该怎么办?

谢谢:)

3 个答案:

答案 0 :(得分:1)

您可以通过ping Google服务器简单地使用一个功能来检查您是否具有网络连接:

    conversion from 'SimilarEle::Node' to non-scalar type 'SimilarEle::Node' 
    requested Node curr1 = head1, curr2 = head2; 

在Android中,此功能如下所示:

/system/bin/ping -c 1 8.8.8.8

在Firestore中,默认情况下启用离线持久性。因此,您可以检查用户是否从缓存或Firebase服务器读取数据。一种更优雅的方法是使用public boolean isNetworkAvailable() { Runtime runtime = Runtime.getRuntime(); try { Process process = runtime.exec("/system/bin/ping -c 1 8.8.8.8"); int exitValue = process.waitFor(); return (exitValue == 0); } catch (IOException | InterruptedException e) { e.printStackTrace(); } return false; } 函数。这是Android的代码:

isFromCache()

答案 1 :(得分:1)

答案 2 :(得分:0)

要显示警报部件,可以使用RFlutter警报库。它是Flutter的易于自定义且易于使用的警报/弹出对话框库。

示例代码:

Alert(context: context, title: "RFLUTTER", desc: "Flutter is awesome.").show();

*我是RFlutter Alert的开发人员之一。