Android背景信标扫描

Android背景信标扫描,android,bluetooth,bluetooth-lowenergy,beacon,Android,Bluetooth,Bluetooth Lowenergy,Beacon,我想创建一个android应用程序,背景扫描BLE信标(如Eddystone或ibeacon)。我所需要的就是在我的手机上检测到一个带有特定ID的信标。我不需要设备之间的距离 在半径约30米的区域内,是否有能够通过cca 3墙发送信号的信标(或1个向上/向下泛洪) 我的应用程序能否整天每隔几秒钟在后台扫描一次?(很明显,当蓝牙开启时…) 我尝试了一些解决方案,但android改变了一些关于后台运行应用程序或蓝牙接收器(用于检测蓝牙何时开启)的政策。我的解决方案有时甚至可以工作7小时,但当我重

我想创建一个android应用程序,背景扫描BLE信标(如Eddystone或ibeacon)。我所需要的就是在我的手机上检测到一个带有特定ID的信标。我不需要设备之间的距离

  • 在半径约30米的区域内,是否有能够通过cca 3墙发送信号的信标(或1个向上/向下泛洪)

  • 我的应用程序能否整天每隔几秒钟在后台扫描一次?(很明显,当蓝牙开启时…)

  • 我尝试了一些解决方案,但android改变了一些关于后台运行应用程序或蓝牙接收器(用于检测蓝牙何时开启)的政策。我的解决方案有时甚至可以工作7小时,但当我重新启动手机时,应用程序不会重新启动。我想要一个完整的后台运行,而不是带有通知的前台服务

    谢谢大家!

    两点:

  • 所有蓝牙信标格式都使用相同的无线电传输机制。无线电功率受到国际监管机构的限制,使得发射机较弱。
    物理定律决定了它们在建筑各层之间的移动程度,这取决于建筑材料,但结果通常很差。同样,这对于所有信标格式都是相同的

  • Android 8+限制在没有前台服务的情况下在后台检测BLE。当手机未处于深度睡眠模式时,您最多可以每10-25分钟扫描一次(这是随机的)。唯一的替代方案是一个前台服务,其中包含一个随时存在的通知

  • 我知道这些不是你想听到的答案,但认识到并接受现实世界中存在的局限性,并提出在这些局限性范围内工作的创造性解决方案,这一点很重要。

    两点:

  • 所有蓝牙信标格式都使用相同的无线电传输机制。无线电功率受到国际监管机构的限制,使得发射机较弱。
    物理定律决定了它们在建筑各层之间的移动程度,这取决于建筑材料,但结果通常很差。同样,这对于所有信标格式都是相同的

  • Android 8+限制在没有前台服务的情况下在后台检测BLE。当手机未处于深度睡眠模式时,您最多可以每10-25分钟扫描一次(这是随机的)。唯一的替代方案是一个前台服务,其中包含一个随时存在的通知


  • 我意识到这些不是你想要听到的答案,但认识到并接受现实世界中存在的局限性,并提出在这些局限性范围内工作的创造性解决方案,这一点很重要。

    谢谢你的快速回答。因此,让我说,每10-25分钟扫描一次对我来说已经足够了。用户在进入信标射程前至少45分钟会使用手机。我能肯定吗,那个应用程序能用吗?或者手机重启,或者三星、华威等的定制电池节电器,都会让它死机?一般来说,是的,这是有效的。但不幸的是,Android后台应用程序的生活中没有什么是简单的!所有较新的安卓设备都有某种电池节电功能,可以在后台禁用应用程序。华为等中国原始设备制造商通常有用户可编辑的应用程序白名单,任何不在白名单上的应用程序最终都将被拒绝后台运行。在开源Android(Pixel,Android One)和三星应用程序上使用备用存储桶。如果用户多天未与应用程序交互,后台操作将被禁用。用户可以禁用此功能。感谢您的快速回答。因此,假设每10-25分钟扫描一次对我来说就足够了。用户在进入信标射程前至少45分钟会使用手机。我能肯定吗,那个应用程序能用吗?或者手机重启,或者三星、华威等的定制电池节电器,都会让它死机?一般来说,是的,这是有效的。但不幸的是,Android后台应用程序的生活中没有什么是简单的!所有较新的安卓设备都有某种电池节电功能,可以在后台禁用应用程序。华为等中国原始设备制造商通常有用户可编辑的应用程序白名单,任何不在白名单上的应用程序最终都将被拒绝后台运行。在开源Android(Pixel,Android One)和三星应用程序上使用备用存储桶。如果用户多天未与应用程序交互,后台操作将被禁用。用户可以禁用此功能。