Android 12对“返回”按钮的处理带来的问题

这篇具有很好参考价值的文章主要介绍了Android 12对“返回”按钮的处理带来的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Android 12之前,按下“返回”按钮,会执行当前Activity的finish()方法。如果是在启动器Activity中按下“返回”按钮,则是结束App的运行。
Android 12改变了这一行为,具体见https://developer.android.google.cn/about/versions/12/behavior-changes-all?hl=zh-cn#activity-lifecycle。

对于大多数应用而言,此变更意味着使用“返回”按钮退出应用的用户可以更快地从温状态恢复应用,而不必从冷状态完全重启应用。

这会使App再次运行时保持上次退出的状态,好还是不好,见仁见智。但像我这种非专业开发人员,平时并不关注Android的版本更新,就被坑了一回。

最近写了一个App,里面有一个前台服务。之前的设备都是Android 12以下的版本,运行时没发现问题。

然后在Android 12的终端上测试时,出了一个问题。

启动App后,前台服务运行,在通知栏上显示图标。这时候按下“返回”按钮,App退出。然后再按通知栏上的图标,唤醒App界面,再按“返回”按钮,就会发现App没有退出,而是显示上次退出时的界面,再按一下“返回”按钮“,界面才会消失。

查看日志,发现没有执行Activity的onDestroy()方法,确定是窗体没有被销毁引起的问题,但是想不出原因啊!

简直莫明其妙,头都大了。

百思不得其解,百度也找不到答案。后来想想,只有Android 12才有这个问题(手上的设备,Android最高版本就是12),然后才找到上面链接里的文档。在onKeyUp事件里加了个finish()方法解决了这个问题。文章来源地址https://www.toymoban.com/news/detail-676042.html

到了这里,关于Android 12对“返回”按钮的处理带来的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity 导出android后android12以上黑屏问题

    其实这个是前两年就遇到过的问题。 基本上是权限问题引起的。 android10以上手机是需要手动获取一些敏感权限,unity2018以前的版本没有适配,导出的android工程在没有手动获取权限的情况下会黑屏卡住。 那么需要哪些权限呢? 那就是【READ_PHONE_STATE】 ,在androidmanifest里添加这

    2024年02月11日
    浏览(35)
  • 《Android学习笔记》Android12蓝牙扫描不到设备的权限问题

    Android12 关于蓝牙这部分新增了 BLUETOOTH_SCAN 、 BLUETOOTH_ADVERTISE 和 BLUETOOTH_CONNECT 权限,这些权限都属于敏感权限,都需要在代码中动态申请。移除了Android11 及以下版本中必须申请的位置权限[ FINE_LOCATION ] 和 [ COARES_LOCATION ]。 1、在Manifest.xml清单文件中添加对应的权限。 其中 An

    2024年02月15日
    浏览(48)
  • 由Android10适配到Android12时遇到相关编译失败问题

    最近Android系统各大应用商店联合发出公告,处于个人隐私安全考虑,强制APP适配到Android 11及以上版本。下面是其中应用市场的公告(顺带提醒没适配的同学): 适配前的开发环境 名称 版本 Android studio Giraffe | 2022.3.1 build.gradle配置的compileOptions JDK 1.8 build.gradle配置的kotlinOpt

    2024年02月11日
    浏览(41)
  • Android12 新增SplashScreen,相关适配问题

    从 Android 12 开始,在所有应用的冷启动和温启动期间,系统一律会应用 Android 系统的默认启动画面。默认情况下,此系统默认启动画面由应用的启动器图标元素和主题的 windowBackground(如果是单色)构成。 如果您不迁移自己的应用,那么该应用在 Android 12 及更高版本上的启动

    2024年02月21日
    浏览(33)
  • 解决高通 Android 12/13 ota升级失败问题

    1、 Android adb push ota全量包 如下图所示 2、当前设备是a分区 如下图所示  3、adb root -adb enable-verity-adb reboot  如下图所示  4、adb ota包升级成功 升级完成之后记得 reboot 重启一下 如下图所示 5、当前设备成功切换b分区 如下图所示  6、到这里基本就结束了, ota 升级相关 Andr

    2024年02月06日
    浏览(75)
  • 关于Android 11、12和13服务保活问题

    物联网环境,为了解决不同厂商、不同设备、不同网络情况下使用顺畅,同时也考虑到节约成本,缩小应用体积的好处,我们需要一个服务应用一直存在系统中,保活它以提供服务给其他客户端调用。 开机自启动,通过广播通信, 必要权限 开机自启动Service相关代码 注意

    2023年04月08日
    浏览(83)
  • android 12后WindowManager事件穿透类型悬浮窗无效问题

    笔记: 项目需要将一个悬浮窗WindowManager仅显示view给用户看,不可操作,将触摸事件穿透到后面的窗口。WindowManager.LayoutParams代码如下 在android12以下的机型中测试都没问题,触摸事件可以穿透悬浮窗。但在android 12机型测试时,触摸事件无法穿透悬浮窗了。 查了android开发者官

    2024年02月13日
    浏览(50)
  • Android 12 利用ext4格式改善Android数据分区f2fs断电丢失数据的问题

            Android 项目中,有些系统SDK默认Date分区为f2fs格式,这时机器断电时,偶尔会有数据丢失。         在Android系统中,数据分区使用f2fs文件系统时,由于其设计特性,可能会在断电时丢失数据。尽管f2fs是为闪存设备优化的文件系统,但在不稳定的环境下,如断电或

    2024年01月22日
    浏览(41)
  • Android WebView H5视频播放实现全屏播放功能、全屏按钮不显示、灰显、点击无效问题解决方案

    打开硬件加速(3.0以上版本支持) set一个WebChromClient,实现onShowCustomView() 方法和onHideCustomView()方法 全屏支持 打开硬件加速 在Manifest中,对应的Activity添加: android:hardwareAccelerated = “true”。 防止h5重新加载:Manifest中,对应的Activity添加: android:configChanges=“keyboardHidden|orientation|s

    2024年02月09日
    浏览(64)
  • Android12(S)授权弹窗被悬浮窗遮挡导致无法点击问题分析

    在测试过程中发现,部分情况下当应用请求权限时,权限授予弹窗中的选项无法点击,有时候又可以。点击其他区域发现是可以正常响应,获取按键事件,发现触摸是有正常上报事件的,所以可以排除是触摸失灵导致。 既然是权限授予弹窗无法点击,那么我们就去找权限管理

    2024年02月11日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包