android - 设备不与 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"),
));
});
},
)
我的第一个猜测是它与互联网权限有关,但我检查了我的设备和模拟器上的应用程序信息,它说该应用程序不请求任何内容。我也在网上搜索过,我似乎没有找到任何相关或有用的东西。
解决方案
我刚刚在真实设备上运行了你的代码。它工作正常。我的猜测是,您的真实设备的 api 级别可能低于 21。您是否在棒棒糖之前的设备上运行您的应用程序?如果它是 5.0 或更高版本,那么我的答案是错误的,并且错误位于其他地方。
推荐阅读
- java - 有没有办法访问我的数据库连接类并检索 JSP 文件中的数据?
- python-3.x - 初学者——调用函数时如何对列表进行排序?
- c++ - Mac OS - VS Code Insiders - Code Runner:架构 arm64 的未定义符号
- asp.net-core - 如何在 ASP.NET Core 主机中禁用 Ctrl+C
- java - 我如何扭转我的 android studio 以逃避这个 PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:..?
- java - 如何在继续循环之前等待回调完成?
- git - 由于不正确的变基,如何压缩重复提交?
- rust - 借来的价值在 Arc 中的寿命不够长
> - python - 如何从一组元组创建多个集
- lua - 如何使用来自另一个表的修改值创建一个新的表表