Android蓝牙扫码连接时,防止Activity重启
集成了一个蓝牙的扫码枪,发现每次连接时,应用的当前Activity会销毁再次创建。调试了下, 没有监听到任何的事件,非常困惑。搜了一阵了解到是Android的一个机制。
某些设备配置可能会在运行时发生变化(例如屏幕方向、键盘可用性,以及当用户启用多窗口模式时)。发生这种变化时,Android 会重启正在运行的 Activity。
如果应用在特定配置变更期间无需更新资源,并且因性能限制您需要尽量避免 Activity 重启,则可声明 Activity 自行处理配置变更,从而阻止系统重启 Activity。
因此在清单文件 对应的Activity中增加属性 android:configChanges
该属性含义:
列出 Activity 将自行处理的配置变更。在运行时发生配置变更时,默认情况下会关闭 Activity 并将其重启,但使用该属性声明配置将阻止 Activity 重启。相反,Activity 会保持运行状态,并且系统会调用其 onConfigurationChanged() 方法。
修改如下:
AndroidManifest.xml
<activity
....
android:configChanges="keyboard|keyboardHidden"
....
从而忽略键盘配置变化。更多信息见官方https://developer.android.com/guide/topics/resources/runtime-changes
Android蓝牙扫码连接时,防止Activity重启的更多相关文章
- Android 连接蓝牙扫码器 无输入框
Android 的APP 需要集成一个蓝牙扫码器, 特别的是,需要扫码的地方是没有输入框的(EditText),不能通过直觉上理解的通过对EditText输入事件进行监听处理,取得扫码结果.并且设备也 ...
- Android 蓝牙( Bluetooth)耳机连接分析及实现
Android 实现了对Headset 和Handsfree 两种profile 的支持.其实现核心是BluetoothHeadsetService,在PhoneApp 创建的时候会启动它. if ( ...
- Android蓝牙2.0连接以及数据接收发送
1.加入权限 <uses-feature android:name="android.hardware.bluetooth_le" android:required=&quo ...
- MIUI12.5扫码之后无法连接MIUI+,显示连接失败
设置-应用设置-应用管理-小米互联通信服务(如果没有找到,进行搜索即可)-清除数据 重新扫码连接就可以连上了 (感觉不怎么样,不知道是不是我网卡,用起来卡卡的...)
- 别再问WiFi密码了,HMS Core统一扫码服务让手机一键联网
现代生活离不开网络.在餐厅.商场等公共场所,手机连接WiFi一直是高频使用场景.虽然公共场所的免费WiFi越来越多,但网络连接过程却很麻烦.有的需要打开网页注册或点击广告链接才能上网,还有的要求下载特 ...
- python 全栈开发,Day128(创建二维码,扫码,创建玩具的基本属性)
昨日内容回顾 1.app播放音乐 plus.audio.createPlayer(文件路径/URL) player.play() 播放音乐 player.pause() 暂停播放 player.res ...
- 超简单集成HMS Scan Kit扫码SDK,轻松实现扫码购
前言 在前面的文章中,我们向大家介绍了HMS Scan Kit 的快速集成方法以及HMS Scan Kit和其他开源扫码工具的竞争力对比分析,如果没有看到也没关系,文章下方的往期链接中有文章入口. ...
- Java 语言实现简易版扫码登录
基本介绍 相信大家对二维码都不陌生,生活中到处充斥着扫码登录的场景,如登录网页版微信.支付宝等.最近学习了一下扫码登录的原理,感觉蛮有趣的,于是自己实现了一个简易版扫码登录的 Demo,以此记录一下学 ...
- VUE新版扫码下单必选分类设置FAQ
使用场景:商家想要设置某些分类下的商品设置必选,否则不能下单.如某火锅店,商家想要设置汤底这个分类下的商品,顾客扫码下单的时候必须选择一份才能下单,此时 就可以使用这个功能 配置步骤和注意事项如下: ...
随机推荐
- 自旋锁-JUC系列
公众号原文:自旋锁-JUC系列 前言 2022!这个年份现在看起来都觉得有那么些恍惚的未来感,然而现在已在脚下. 无边落木萧萧下, 不尽长江滚滚来! 人生如白驹过隙! 本来计划最近把AQS源码分析做了 ...
- 手把手教你分析解决MySQL死锁问题
在生产环境中如果出现MySQL死锁问题该如何排查和解决呢,本文将模拟真实死锁场景进行排查,最后总结下实际开发中如何尽量避免死锁发生. 一.准备好相关数据和环境 当前自己的数据版本是8.0.22 mys ...
- 1010day-人口普查系统
1.xiugai.java package com.edu.ia; import java.io.IOException;import java.sql.SQLException; import ja ...
- 【小记录】利用cuvid库做视频解码,运行出现"dlopen "libnvcuvid.so" failed!"
1.查看源码:/Video_Codec_SDK_8.0.14/Samples/common/src/dynlink_nvcuvid.cpp 其中的LOAD_LIBRARY函数的源码如下: 1 #eli ...
- 【小记录】arm64下的原子加
1.代码中使用atomic_add aarch64下面并没有任何关于atomic的头文件 编译出现错误: /Users/ahfu/code/android/android-ndk-r14b/toolc ...
- manjora20使用体验
#第一次评估 适合小白日常办公,不适合计算机研究人员 ##优点 稳定流畅,运行速度比Ubuntu快很多 界面优美,UI很好 强大的aur软件库应有尽有,几乎是所有软件都有 中国源和arch社区提供的包 ...
- 白话linux操作系统原理
虽然计算机相关专业,操作系统和计算机组成原理是必修课.但是大学时和真正从事相关专业工作之后,对于知识的认知自然会发生变化.还很有可能,一辈子呆在学校的老师们只是照本宣科,自己的理解也不深.所以今天我站 ...
- JavaWeb概念及Web资源的分类
一,JavaWeb概念 1,JavaWeb,所有通过java语言编写可以通过浏览器访问的程序的总称 JavaWeb是基于请求和响应来开发的. 2,什么是请求 请求:指客户端给服务端发送数据,Reque ...
- sed 模式空间 保持空间
sed之所以能以行为单位的编辑或修改文本,其原因在于它使用了两个空间:一个是活动的"模式空间(pattern space)",另一个是起辅助作用的"保持空间(hold s ...
- 003Linux查看文件内容的5个命令姿势
01 开篇 Linux 中查看文件内容常用的有如下 5 个命令: cat: more: less: tail: head. 02依次看看这些命令的使用姿势 cat 一次性将所有内容输出到屏幕上,方便查 ...