华为应用强制更新中,偶现点击“退出应用”退不出应用

奚泥
• 阅读 642

问题描述

我们游戏集成了6.2.0.300版本的游戏sdk后,后台提交更新包并勾选了“强制更新”选项,新包上线后,在测试游戏强制升级功能时,发现偶现的点击“退出应用”退不出游戏,查看日志发现最后一次点击按钮, 升级sdk中isExit 字段返回的false,所以怀疑是不是sdk的问题。

问题分析

带着疑问联系华为技术支持(可提单联系),技术支持复现问题后,发现最后一次点击“退出应用”按钮,并没有进入升级的回调,而isExit字段返回的false,还是上一次弹升级弹窗返回的,本次点击按钮并没有打印日志,所以导致我误以为是isExit字段返回false导致的没有退出游戏。

技术支持分析之所以没有退出游戏,是因为我的升级代码是这么写的:
华为应用强制更新中,偶现点击“退出应用”退不出应用
因为callback放在了局部变量中,很容易被回收,所以会偶现收不到回调。

问题解决

解决的方法就是把callback放到成员变量里,如下图所示:
华为应用强制更新中,偶现点击“退出应用”退不出应用

华为应用强制更新中,偶现点击“退出应用”退不出应用

改完之后,问题解决。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
4年前
android应用架构经验及代码规范
应用的更新从服务器拿数据后要处理得到数据为空、解析错误、解析为空的情况,防止后台坏掉后进不去activity;用友盟等平台更新不能阻塞式强制更新,万一友盟维护了,应用就进不去了。命名规则布局中id的命名:尽量保证不同布局xml文件中不要有相同的id命名,不然ctrl想点进去的时候,不知道该跳转到哪个文件,当注释掉该控件后
Stella981 Stella981
4年前
Android Native crash 处理案例分享
1\.背景目前mPaas\1\Android使用CrashSDK对闪退进行的处理,CrashSDK是Android平台上一款功能强大的崩溃日志收集SDK,有着极高的崩溃收集率和完整、全面的崩溃日志信息,生成的日志内容非常利于问题的跟进和解决。在日常运维中,经常遇到一些闪退,无法直接从闪退堆栈找到原因,尤其是一些非Java
Wesley13 Wesley13
4年前
Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启本应用
  一个完整的游戏项目上线需要不断的完善优化,但是到了后期的开发不再仅仅是游戏了,它的复杂度远远大于纯粹的应用开发。首先必须要考虑的就是集成第三方SDK,支付这块渠道商已经帮你我们做好了,只需要按照文档对接就好。其次是各种各样的功能需求,例如社交中的语音聊天,我们游戏使用的云娃的SDK,支持语音翻译文字,推送使用的是极光。对接SDK这块说简单吧有时也不简单,
Stella981 Stella981
4年前
Android端穿山甲SDK集成
Android端穿山甲SDK集成SDK接入穿山甲平台上创建测试状态的应用ID和广告位ID(ps:测试集成完毕后再把应用及对应的代码位改成正式状态)(ps:应用ID和代码位ID是对应关系一个应用可以对应多个代码位ID)应用ID对应demo中的APPID
Stella981 Stella981
4年前
Android防止按钮快速重复点击
在用户使用Android应用的时候,经常会出现过快且多次点击同一按钮的情况,一方面这是因为应用或手机当前有些卡顿,另一方面也可能是由于很多应用并没有设置按钮点击时的selector或者其它按钮响应方式(例如点击按钮时按钮放大,常见于游戏),导致用户误认为没有点击到当前按钮,当然,除了相对应的对应用进行优化和设置点击selector以外,我们还
Stella981 Stella981
4年前
Redis如何保证接口的幂等性?
在最近的一次业务升级中,遇到这样一个问题,我们设计了新的账户体系,需要在用户将应用升级之后将原来账户的数据手动的同步过来,就是需要用户自己去触发同步按钮进行同步,因为有些数据是用户存在自己本地的。那么在这个过程中就存在一个问题,要是因为网络的问题,用户重复点击了这个按钮怎么办?就算我们在客户端做了一些处理,在同步的过程中,不能再次点击,但是经过我最近
Wesley13 Wesley13
4年前
10分钟彻底搞懂单页面应用路由
上一次,跟大家科普了小程序的自定义路由routes,开启了路由之旅;今天,顺势就单页面应用路由,跟大家唠个五毛钱,如果唠得不好……退…一块钱?单页面应用特征假设:在一个web页面中,有1个按钮,点击可跳转到站内其他页面。多页面应用:点击按钮,会从新加载一个html资源,刷新整个页面;单页面应
程序员小五 程序员小五
1年前
融云IM干货丨 IMKit 升级过程中遇到兼容性问题怎么办?
在升级IMKitSDK过程中遇到兼容性问题时,可以采取以下措施来解决:检查新版本的变更日志:确保检查新版本的变更日志,了解有哪些API变更、功能差异以及安全机制的更新,并测试所有功能以确保兼容性。运行时判断系统版本:在应用运行时判断当前系统版本,并根据版本
程序员小五 程序员小五
1年前
融云IM干货丨如何测试升级后的IMKit版本是否稳定?
测试升级后的IMKit版本是否稳定,可以遵循以下步骤和建议:确保使用最新版本的SDK:始终使用融云提供的最新的SDK版本,以确保所有已知的兼容性问题都已经被修复。测试不同操作系统版本:如果可能,测试应用在不同版本的操作系统上的表现,特别是最新版本的操作系统
陈杨 陈杨
8个月前
HarmonyOS5云服务技术分享--云存储SDK文章整理
在HarmonyOSArkTS应用中集成华为云存储SDK指南大家好呀!今天咱们来聊聊如何将华为云存储SDK集成到基于ArkTS(API911)的HarmonyOS应用中。这篇指南会手把手带你完成从环境准备到代码实现的完整流程,过程中遇到的常见问题也会贴心提
阮小五 阮小五
8个月前
M芯片的 Mac 电脑安装应用后运行闪退或无反应解决方法
MAC电脑中的部分应用官方已经兼容了M1/M2/M3等M系列芯片,但是当我们使用破解版/激活版的时候却发现并没有兼容,这时我们可以通过以下方法解决修复M芯片应用闪退方法打开访达,进行应用程序目录,找到闪退的应用,在应用图标上右键,然后点击「显示简介」勾选「