addOnCompleteListener 未使用 cloud firestore 离线调用

2024-02-04

我一直在使用新的云 Firestore 数据库编写一个应用程序。它工作得很好,只是尽管启用了离线持久性,但离线时很多事情都不能顺利进行。 例如我执行以下操作:

ref.delete().addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    //Do something
                } else {
                    //Do another thing
                }

            }
        });

但是,那onComplete离线时永远不会调用该方法。一旦发生这种情况,我想关闭活动并显示一些 Snachbar。但与以往不同的是,该活动仍然开放。我正在使用 android studio 模拟器。

Thanks


写入数据库的操作被定义为在实际提交到后端后发出完成信号。结果,这按预期工作:离线时它们不会发出完成信号。

请注意,Firestore 客户端内部保证您可以读取自己的写入,即使您不等待删除任务完成也是如此。

在大多数情况下,这意味着您不需要等待此任务完成。您有什么特别的理由对此感兴趣吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

addOnCompleteListener 未使用 cloud firestore 离线调用 的相关文章

  • 如何获取每个StorageVolume的可用大小和总大小?

    背景 谷歌 悲伤 计划破坏存储权限 https www xda developers com android q storage access framework scoped storage 这样应用程序将无法使用标准文件 API 和文件
  • 我在布局上看不到任何 FirebaseRecyclerAdapter 项目

    我试图将数据从 Firebase 数据库检索到我的布局 但我看不到任何项目FirebaseRecyclerAdapter在布局中 请帮忙 我按照一个教程展示了如何做到这一点 当我运行应用程序时 我没有看到任何项目 但我可以滚动 public
  • Cheesesquare:enterAlways 会产生错误的布局

    Adding enterAlways到 Cheesesquare 演示的滚动标志
  • Recyclerview 动态部分不使用任何第三个库

    我想将标头添加到 recyclerview 我正在尝试使用来实现它 Override public int getItemViewType int position depends on your problem if position 0
  • Android 初学者:Android gridview 中的触摸事件

    我正在使用以下代码来使用 gridview 执行操作 稍作修改http developer android com resources tutorials views hello gridview html http developer a
  • Android应用程序组件销毁和重新创建的详细信息

    有人可以向我提供一些具体的 值得信赖的 最好是简洁的 信息 内容如下 系统销毁和 如果适用 重新创建组件的顺序 片段 活动 活动的线程 异步任务 计时器 静态数据 类何时卸载 其他类中的线程 异步任务 定时器 主机 TabActivity
  • 如何在我现有的 Android 应用程序中使用 Telegram API(包括聊天应用程序)?

    我想使用 telegram API 在我现有的 Android 应用程序中开发聊天功能 我不知道如何实施 我认为 看看Telegram 数据库库 测试版 从这里TDLib https core telegram org tdlib 俄语 但
  • 如何设置Firestore安全规则? Resource.data:空值错误

    我需要一些帮助来使我的 Firestore 安全规则发挥作用 这些是我的 Firestore 规则 service cloud firestore match databases database documents match order
  • 在 Cordova 应用程序中获取额外功能

    我们有两个 Android 应用程序 一个使用本机 Java 实现 另一个使用 Ionic 编写 Ionic 应用程序启动我的应用程序 这是使用灯插件 https github com lampaa com lampa startapp 我
  • 图像作为电子邮件附件

    我想构建一个应用程序 我可以在电子邮件中附加图像 打开图像并将其设置为我的壁纸 我想让它跨平台 所以你能告诉我是否可以使用phonegap 或者我是否必须为iphone和android构建一个本机应用程序 您好 如果您只想通过电子邮件附加图
  • Mipmap 与可绘制文件夹[重复]

    这个问题在这里已经有答案了 我正在使用 Android Studio 1 1 Preview 1 我注意到 当我创建一个新项目时 我得到以下层次结构 不同 DPI 的 Mipmap 文件夹 不再有不同 DPI 的可绘制文件夹 我应该将所有资
  • Dagger 2 没有生成我的组件类

    我正在使用 Dagger 2 创建我的依赖注入 几个小时前它还在工作 但现在不再生成组件 这是我创建组件的地方 public class App extends Application CacheComponent mCacheCompon
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案
  • 在命令行上卸载 Android SDK 的选定部分

    这与 卸载旧的 Android SDK 版本 https stackoverflow com questions 15182377 uninstall old android sdk versions 除非我想在无头 Linux CI 服务
  • Android - 以编程方式选择菜单选项

    有没有办法以编程方式选择菜单选项 基本上 我希望视图中的按钮能够执行与按特定菜单选项相同的操作 我正在考虑尝试调用 onOptionsItemSelected MenuItem item 但我不知道要为菜单项添加什么 是的 有一种方法可以选
  • 插件“Android Bundle Support”不兼容

    大家好 自从上次更新以来 当我启动 android studio 时 我遇到了一个非常奇怪的错误 我有这个错误 插件错误 插件 Android Bundle Support 不兼容 直到构建 AI 195 SNAPSHOT 我在网上找不到任
  • 通过电子邮件发送文本文件附件

    我正在尝试附加一个文本文件以便通过电子邮件发送 但每当我打开电子邮件应用程序时 它都会说该文件不存在 请帮助 Intent i new Intent Intent ACTION SEND i setType text plain i put
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • 如何使用 AccessibilityService 在 Android 中模拟按键

    我正在编写一个辅助服务 我一直在尝试在应用程序上进行一些自动搜索 我使用accessibilityservice action paste来填充EditText 然后我需要模拟软键盘上的按键 但我不知道如何做 你们能帮我一下吗 你可以尝试A
  • 发布的 Android apk 出现错误“包文件未正确签名”

    我最近将我的应用程序上传到 Android 市场 但是由于错误 下载时它拒绝运行 包文件未正确签名 我首先使用 eclipse 发布了数据包 右键单击导出 创建密钥库然后发布 但它拒绝工作 然后我下载了 keytool 和 jarsigne

随机推荐

  • Mongoose:findOneAndUpdate 不返回更新的文档

    下面是我的代码 var mongoose require mongoose mongoose connect mongodb localhost test var Cat mongoose model Cat name String age
  • JavaScript 全局变量的生命周期

    我在 w3schools 上阅读了以下内容 但我不明白第二部分的含义 全局变量 对于加载到同一窗口中的新页面仍然可用 任何人都可以启发我吗 在 Web 浏览器中 当您关闭浏览器窗口 或选项卡 时 全局变量将被删除 但对于加载到同一窗口中的新
  • 如何插入多行 - 需要循环吗?

    我有以下声明 insert into forecast entry user role xref user master id role id created date created by values 276 user master i
  • 获取 Mailgun 中打开或单击的电子邮件的主题

    我已设置 Mailgun 域来跟踪我发送的电子邮件的打开和点击情况Laravel https laravel com docs 5 7 mail introduction app 现在我想设置webhooks https documenta
  • 使 Pydantic BaseModel 字段可选,包括 PATCH 的子模型

    正如已经问过的similar有疑问 我要支持PATCHFastApi 应用程序的操作 调用者可以根据需要指定 Pydantic 的任意数量的字段BaseModel 有子模型 这样高效PATCH可以执行操作 而调用者不必仅仅为了更新两个或三个
  • 注销后销毁握手。套接字.io

    您好 我正在尝试将聊天构建到应用程序中 我想知道的是 当用户注销网站时 我如何销毁与该会话关联的 socket io 握手 以便用户在注销时无法从另一个选项卡发送消息 我正在使用expressjs 如果有帮助的话 好吧 万一有人发现这个并想
  • 查找父节点所选文本的范围

    我想找到所选文本相对于父元素的范围 所以在这个 p 元素 即anchorOffset focusOffset 狐狸 是 16 19 p p The quick brown fox jumps over the lazy dog p 但如果我
  • 在保护模式下重新启动

    在 x86 实模式下重启非常简单 您可以使用 BIOS 或 jmp 0xFFFF 0000 但是在保护模式下应该如何重新启动呢 有关端口 0xCF9 的信息 为了写入它 需要访问内核模式 即来自内核驱动程序 0xCF9端口可以获得三种复位类
  • 使用 about:config 覆盖 Firefox 不安全警告

    我正在尝试编写一个简单的批处理脚本来截取内部网页的一些屏幕截图 并发现 Firefox 具有将窗口渲染到画布的能力 var canvas document createElement canvas var ctx canvas getCon
  • 整数相乘并赋值给 Long 时溢出

    如果我在立即窗口中输入以下内容 则会收到运行时错误 6 溢出 MsgBox 24 60 60 为什么是这样 这也失败了 Dim giveTime As Long giveTime 24 60 60 为什么是这样 giveTime被声明为 L
  • 如何在 pyqt 中嵌入 matplotlib - 傻瓜指南

    我目前正在尝试将我想要绘制的图表嵌入到我设计的 pyqt4 用户界面中 由于我对编程几乎完全陌生 我不明白人们是如何在我发现的示例中嵌入的 and that one http eli thegreenplace net files prog
  • 尝试使用 Tailwind CSS 构建布局

    我试图用 tailwind css 构建这个布局 但我不明白 我想创建的布局 https i stack imgur com pOrZW jpg 我的布局 https i stack imgur com 4gCwv jpg
  • “python方式”解析并有条件地替换二维列表中的每个元素[重复]

    这个问题在这里已经有答案了 我有一个列表 其中包含进一步的字符串列表 这些字符串可能代表单词 在字母数字意义上 或整数 例如 myLists 5 cat 23 33 parakeet scalpel correct horse batter
  • OnCheckedChanged 事件根本没有在 GridView 中触发

    我有一个 GridView 在 TemplateField 中有一个 asp 复选框 TemplateField 定义如下
  • 如何在向 dom 元素添加类后强制 ie8 重新绘制

    在 ie8 中 如果更改类名时元素不使用关联的 css 进行 重新绘制 那么如何强制浏览器刷新而不影响 ie8 性能 这个帖子 如何强制 WebKit 重绘 重绘以传播样式更改 https stackoverflow com questio
  • 如何更改 DBpedia SPARQL 查询的执行时间上限? (Virtuoso 42000 错误)

    我正在通过 Python 使用 SPARQL 查询 DBpedia 我面临执行时间上限的问题 这是错误 Code sparql SPARQLWrapper http dbpedia org sparql newquery DEFINE in
  • Flex 4 滚轮

    在我的应用程序中 我正在使用Scroller http help adobe com en US FlashPlatform reference actionscript 3 spark components Scroller html成分
  • 列出我的计算机上安装的物理驱动器[重复]

    这个问题在这里已经有答案了 可能的重复 如何列出物理磁盘 https stackoverflow com questions 327718 how to list physical disks 列出我的计算机上安装的物理驱动器的 最佳方式
  • 参数索引超出范围(2 > 参数数量,即 1)[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions String query inser
  • addOnCompleteListener 未使用 cloud firestore 离线调用

    我一直在使用新的云 Firestore 数据库编写一个应用程序 它工作得很好 只是尽管启用了离线持久性 但离线时很多事情都不能顺利进行 例如我执行以下操作 ref delete addOnCompleteListener new OnCom