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

当应用程序通过Firebase破坏时显示用户离线[副本]

华子昂
2023-03-14

我正试图通过以下方法在firebase中显示用户离线或在线。

概念很简单:

onCreate(){
 isOnline = "online";
}
onDestory(){
  isOnline = "ofline";
}

每当用户登录时,oncreate()方法工作正常,它在firebase中添加isonline=“online”字段,但ondestroy()方法不工作,它不会更改isonline字段的值。

// public static final String KEY_IS_ONLINE = "isOnline";
// public static final String KEY_ONLINE = "online";
// public static final String KEY_OFFLINE = "offline";

@Override
    protected void onStart() {
        super.onStart();
        FirebaseFirestore db = FirebaseFirestore.getInstance();

        DocumentReference documentReference = db.collection(Constants.KEY_COLLECTION_USERS).document(preferenceManager.getString(Constants.KEY_USER_ID));
        documentReference.update(Constants.KEY_IS_ONLINE, Constants.KEY_ONLINE);
    }

@Override
    protected void onDestroy() {
        super.onDestroy();
        FirebaseFirestore db = FirebaseFirestore.getInstance();

        DocumentReference documentReference = db.collection(Constants.KEY_COLLECTION_USERS).document(preferenceManager.getString(Constants.KEY_USER_ID));
        documentReference.update(Constants.KEY_IS_ONLINE, Constants.KEY_OFFLINE);
    }

共有1个答案

越胤
2023-03-14

ondestroy()的开发人员站点引用:-

注意:不要指望这个方法被调用作为保存数据的地方!例如,如果一个活动正在内容提供程序中编辑数据,那么这些编辑应该在onPause()或onSaveInstanceState(Bundle)中提交,而不是在这里提交。

这样做的理由如下:-

    null
 类似资料:
  • 我是flutter的新手,我只是试图接收firebase推送通知到我的flutter应用程序。当应用程序关闭时,在后台接收推送通知。但是当应用程序打开时,推送通知正在接收,但它不显示警报通知(如果它打开了,我想在我的应用程序中显示推送通知的标题和正文作为警报)。这是我的代码。 谁能帮我做这个吗?

  • 我试着用firebase云消息通过控制台发送通知来测试我的应用程序,但当我的应用程序在前台或仍在运行时。设备中不显示通知,并且触发了firebase消息服务中的日志。 这是我的firebasemessagingservice

  • 仅当应用程序关闭时,数据有效负载的使用不会收到任何通知,并且不会触发消息接收方法。 在下图中显示数据负载,单击此处查看参数 回复是点击这里查看回复 响应成功1,但在redmi手机中未收到任何通知。

  • 我正在使用火力点通知。当应用程序处于前台时,onMessageReceived将被调用,通知与图像一起可见(BigPictureStyle通知)。但是,当应用程序处于Kilded状态时,onMessageReceived将不被调用,而是调用带有标题和描述的基本通知。 我得到的基本通知与标题和主体时,应用程序被杀的状态。当应用程序处于死亡状态时,我如何获取图像???

  • 我从控制台向我的应用程序发送消息,当它在后台时,我设法让应用程序做出我想要的反应。所以基本上SDK会显示一个通知,当用户点击它并启动应用程序时,我会使用一些自定义数据字段来构建对话框消息。

  • 我目前正在开发的一个新应用程序遇到了一个奇怪的问题,如果我将应用程序发送到后台(Home按钮),然后使用应用程序图标重新启动应用程序,除了根活动之外的所有活动都会被销毁(在日志中,我会获得所有活动的OnDestroy,除了调用OnResume的根活动)。 如果我将其发送到后台并从当前任务中恢复,它将恢复应用程序。 我已经将< code > Android:launch mode = " singl