当前位置: 首页 > 知识库问答 >
问题:

如何验证用户是否有网络访问权限,并在没有时显示弹出警报

越姚石
2023-03-14

我的名字是Pablo,我目前正在构建一个Flutter应用程序。因此,我的应用程序从Firebase Storage获取一些图像和音频,显然,如果没有互联网连接,该应用程序不会显示图像也不会播放音频。我希望该应用程序在没有WIFI或数据时弹出警报给用户;我该怎么做?

谢谢:)

共有3个答案

姬和歌
2023-03-14

要显示警报部分,可以使用RFlutter警报库。它是易于定制和使用的颤振警报/弹出对话框库。

示例代码:

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

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

呼延鹏云
2023-03-14

您可以使用连接包https://pub.dartlang.org/packages/connectivity下面是一个附带dart文件的简单教程https://medium.com/@aseemwangoo/internet-connectivity-in-Flatter-a6b6aedf2964

可能重复-检查颤振应用程序上是否有可用的Internet连接

赫连子石
2023-03-14

通过ping Google服务器,您只需使用一个功能检查您是否有网络连接:

/system/bin/ping -c 1 8.8.8.8

在Android中,此函数如下所示:

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;
}

在Firestore中,默认情况下启用脱机持久性。因此,您可以检查用户是否从缓存或Firebase服务器读取数据。更优雅的方法是使用isFromCache()函数。这是Android的代码

yourDocRef.addSnapshotListener(new DocumentListenOptions().includeMetadataChanges(), new EventListener<DocumentSnapshot>() {
    @Override
    public void onEvent(DocumentSnapshot documentSnapshot, FirebaseFirestoreException e) {
        Log.d("listener.isFromCache: " + documentSnapshot.getMetadata().isFromCache());
    }
});
 类似资料:
  • 我目前正在尝试将我的应用程序迁移到firebase,我正在寻找firebase的解析安装和通道。 我发现我们应该使用主题,但在我的应用程序中,“订阅”和“取消订阅”主题很常见,但没有办法(我发现)看到用户订阅了哪些主题。有什么想法吗? 我已经阅读了Firebase文档,但我是Firebase新手,因此可能有更多经验的人会知道:https://firebase.google.com/docs/clo

  • 我如何让这段代码永远在后台运行,并始终检测是否有互联网接入(不是互联网连接),并在没有互联网接入时显示一个祝酒词? 这是我想要的(见喵喵的回答),但它是用于检测互联网的

  • 我正在使用Unity游戏引擎创建游戏。在这个游戏中,我抓取了一个屏幕截图,并将其保存到Unity的默认文件夹(“Application.PersistentDataPath”): /data/data/de.mytest.mygame/files/screenshot.png 如何修复此权限问题? 编辑:创建意图如下所示:

  • 我在Google BigQuery中创建了一个数据集,并下载了json auth文件。我试图从Jupyter笔记本中的python访问此数据集中的表,但我得到了错误: “禁止:403补丁https://bigquery.googleapis.com/bigquery/v2/projects/testdbt-bigquery-20200403/datasets/landing_zone_flight

  • X1.5.0新增 sp_auth_check($uid,$name=null,$relation='or') 功能: 用户权限验证 参数: $uid: 当前登录用户或者管理员的id $name:需要验证的规则列表,支持逗号分隔的权限规则或索引数组,默认为当前url $relation:如果为 'or' 表示满足任一条规则即通过验证;如果为 'and'则表示需满足所有规则才能通过验证 返回: 类型

  • 问题内容: 我正在用selenium。尝试单击按钮时,它将创建一个弹出窗口(警报),并且不返回页面对象。因此,我不能单独使用“单击”,因为此方法需要页面对象,并最终由于超时而失败。我可以使用“ chooseOkOnNextConfirmation()”,但这将单击弹出窗口,并且我还想验证弹出窗口是否实际出现。是否有任何方法可以单击并验证此警报? 问题答案: 对于警报,您将需要使用 getAlert