【问题标题】:Cancel Acitivity - handleWindowVisibility: no activity for token取消活动 - handleWindowVisibility:令牌没有活动
【发布时间】:2020-08-17 09:58:36
【问题描述】:

我正在开发我的第一个 Android 项目,这是一个简单的纸牌游戏。到目前为止一切正常,但现在我在开始/取消活动时遇到了一些问题。我也阅读了this post,但找不到我的问题的解决方案。

情况: 当我与 firebase 服务器连接时,两个玩家可以加入一个房间并玩游戏。但是当一个人离开时,问题就出现了。

会发生什么: 一名玩家按下按钮离开房间,这将激活一个 ValueEventHandler 并且两个玩家都会启动取消过程(返回大厅)并返回大厅。

会发生什么: 按下按钮,ValueEventHandler 为两个玩家启动该过程。这是取消按钮的代码:

cancel = true  //simple boolean 
messageRef!!.removeEventListener(listener1!!) //cancel Firebase-Value-Event-Listeners 
(remove all listeners...) 
roomRef!!.setValue(null) //delete room at firebase-server 
val intent = intent(this@gameActivity, LobbyActivity::class.java) //also tried this with applicationContext 
startActivity(intent)

此代码已执行。 但随后出现此通知:

取消活动 - handleWindowVisibility:令牌没有活动 android.os.BinderProxy@36ada28 JNI 关键锁持有 (...)

然后gameActivity又开始了。

解决方法: 在游戏活动重新加载后按下取消按钮将玩家带回大厅(不知道为什么它在第二次尝试时起作用)。无论如何 - 控制台显示相同的“handleWindowVisibility:令牌没有活动”错误。

希望对此有见解和帮助。

【问题讨论】:

    标签: android firebase android-intent applicationcontext eventhandler


    【解决方案1】:

    如果有人有同样的问题: 我重新编写了代码,现在它已经消失了。恕我直言,这与两次调用“finish()”有关(在 OnStop 和 OnDestroy),甚至可能两次调用 startActivity(intent)。

    【讨论】:

      猜你喜欢
      • 2020-01-10
      • 2019-10-31
      • 1970-01-01
      • 2022-09-26
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多