首页 > 解决方案 > 设备不与 Firebase 交互,但模拟器可以

问题描述

现在我正在使用 Firebase 的实时数据库开发一个 Flutter 应用程序。我遇到的问题是我的设备似乎根本无法与 Firebase 连接。它不能将任何数据上传到数据库,也不能读取任何内容。

当我在 Android 模拟器上尝试完全相同的应用程序和代码时,事情变得很奇怪,因为它按预期工作。

示例代码

下面的这个按钮应该上传一些东西到/carreras参考。好吧,当我在模拟器上使用此代码运行应用程序时,它可以完美运行,但在我的真实设备上却不行。

new RaisedButton(
  child: new Text("upload"),
  onPressed: () {
    var ref = FirebaseDatabase.instance.reference().child("carreras");

    ref.set("some data").then((_) {
      Scaffold.of(context).showSnackBar(new SnackBar(
        content: new Text("data uploaded"),
      ));
    });
  },
)

我的第一个猜测是它与互联网权限有关,但我检查了我的设备和模拟器上的应用程序信息,它说该应用程序不请求任何内容。我也在网上搜索过,我似乎没有找到任何相关或有用的东西。

标签: androidfirebasefirebase-realtime-databaseflutter

解决方案


我刚刚在真实设备上运行了你的代码。它工作正常。我的猜测是,您的真实设备的 api 级别可能低于 21。您是否在棒棒糖之前的设备上运行您的应用程序?如果它是 5.0 或更高版本,那么我的答案是错误的,并且错误位于其他地方。


推荐阅读