相关疑难解决方法(0)

如何知道我的Android应用程序已升级以重置警报?

我注意到,当设置此警报的应用程序已升级时,将禁用警报.真的吗 ?

到目前为止,我使用了SharedPreferences一个FIRST_RUN键,以便知道它是否是我的应用程序的第一次运行.如果我找不到这个键,我启用闹钟并设置FIRST_RUN为false,否则我什么都不做.

但我也注意到这些偏好在应用升级之间保持不变!

所以在升级之后,FIRST_RUN密钥已经是假的,所以当我的警报需要启用时我什么都不做.

如何处理这种情况?

提前致谢

android

67
推荐指数
4
解决办法
3万
查看次数

Android:自动重新连接BLE设备

我的目标是让Android设备重新连接到之前连接的BLE设备而无需用户干预,就像它对经典BT配对设备一样(甚至可以通过电源循环工作).

BTLE设备的一个想法是节省服务,绑定和启用状态,使得重新连接非常快并且在外围设备上消耗非常少的功率.

我所做的似乎有效,但效果不佳.

第一步是连接或配对并连接到新设备,将'autoconnect'参数设置为'true'.当设备断开连接时,请不要调用 gatt.close().无论我到哪里,我都会看到应该调用gatt.close().但如果我打电话给gatt.close(),Android中心应用程序永远不会重新连接.我已经多次测试过了.

如果我没有调用gatt.close()并且没有重启Android,则通常会发生自动连接.有时它可能需要很长时间,特别是在5.0版之后.然而,它是不可靠的并且由于非常低的扫描周期而且在扫描周期实际检测到广告之前设备退出广告可能是不可靠的.我不确定,因为没有办法像广告那样检测扫描操作!扫描也可能在一定时间后停止,但没有相关文档.

因此,我认为我需要做的就是以某种方式设置使用的是Android,以更高的占空比后台扫描速度(仅在5.0可能高达)时自动连接已定,但我不知道如何做到这一点.我不想开始自己的扫描,但不知何故设置了Android用于重新连接的后台扫描速率.有谁知道如何做到这一点?有谁真的知道autoconnect和gatt.close()是如何工作的?

也许自动连接并不意味着重新连接,如上所述?

android bluetooth-lowenergy android-bluetooth

8
推荐指数
1
解决办法
7019
查看次数

信标在后台扫描-Android O

当该应用程序在后台运行时,Google添加了不向该应用程序广播蓝牙开关状态的限制。这有效地在后台阻止了优化的蓝牙信标扫描。除了定期的工作安排之外,如何解决这个问题?

任何帮助表示赞赏。

android beacon

1
推荐指数
1
解决办法
5054
查看次数