通过蓝牙连接到一款扫码枪,当扫码枪和手机蓝牙成功连接,或成功断开时,基座应用就会重启。
近期我通过社区发现几个朋友和我情况一样,
其中有:【报Bug】Hbuilder蓝牙连接与断开导致基座重启,
根据大神提供的解决方案:【本地离线打包,在"io.dcloud.PandoraEntryActivity"的configChanges里添加keyboard|navigation这连个监听即可。】
依然未能解决问题,求大神解答!!
3***@qq.com
- 发布:2019-06-25 17:20
- 更新:2020-04-29 14:28
- 阅读:2135
5 个回复
3***@qq.com (作者) - 90后
经过一周的资料搜查,终于解决了!撒花!!
解决这个问题必须得用本地离线打包方式。
参考:android 扫描枪的坑
mui框架安卓离线打包高级应用
解决方法就是自己新建一个新的Activity用作应用入口,记得注释原有的io.dcloud.PandoraEntry应用入口。新的Activity继承PandoraEntryActivity,同时重写onCreate方法。接下来在AndroidManifest中新的Activity里面配置:android:configChanges="orientation|keyboard|keyboardHidden" ,最后回到新的Activity中重写onConfigurationChanged()方法即可。
贴上代码,简单几句就可以解决了。
3***@qq.com (作者) - 90后
补充一下,我用的离线SDK包是20190427发布的那个
DCloud_Android_zl
升级到最新的SDK试一下。
w***@163.com
最新的SDK都不行,麻烦解决下在线打包的这个问题好吗
2019-08-28 18:18
DCloud_Android_zl
回复 w***@163.com: 提供以下示例。
2019-08-28 18:22
w***@163.com
回复 DCloud_Android_zl: 官方的demo 跑起来,然后连接蓝牙设备,然后再关闭 就会出现闪退。
2019-08-28 18:29
w***@163.com
是本机安装的demo,不是云打包的。 我连接的是蓝牙扫码枪,IOS是好的,android有问题
2019-08-28 18:31
DCloud_Android_zl
回复 w***@163.com: 使用HelloH5的蓝牙模块没出现您反馈的闪退啊,麻烦说一下具体的步骤。
2019-08-28 18:56
w***@163.com
回复 DCloud_Android_zl: 使用的不是hbuilder的蓝牙模块。 是外设的蓝牙。 打开手机本身的蓝牙,连接外设(例如蓝牙扫码枪),连接成功(此时APP会闪退下), 使用扫码枪功能(没有问题), 关闭扫码枪(APP闪退)。
2019-08-28 19:12
4***@qq.com
回复 DCloud_Android_zl: 我也是出现类似的情况 手机本身连接或断开蓝牙 会导致App基座重启
2019-08-29 14:57
DCloud_Android_zl
回复 4***@qq.com: 提供一下使用的蓝牙连接的代码
2019-08-29 15:09
4***@qq.com
回复 DCloud_Android_zl: 不是用代码连接的蓝牙 是使用手机本身去连接的蓝牙 然后打开App 一段时间蓝牙不动就会自动断开 然后App莫名的就重新启动
2019-08-29 15:12
4***@qq.com
回复 DCloud_Android_zl: 用的是自定义基座 但是那个自定义基座我也没改什么东西
2019-08-29 15:18
w***@163.com
你好,这块的代码可以完整贴出来下吗, 我这里创建这个类报错。
l***@21cn.com
请教AndroidManifest.xml是如何改的?