【发布时间】:2021-03-15 14:38:49
【问题描述】:
有没有办法让 BeaconTransmitter 实例永远发送?
问题: 我想要一个 RPi 检测我何时回家独立于 Wifi 运行或 RPi 甚至可以访问互联网(例如,当它检测到手机时,它可以打开所有路由器等)。
我的 android 手机上有一个简约的应用程序,它发送 iBeacon 正在运行,RPi 上的 beacontools 库检测到它。这在原则上运作良好。 (虽然我知道它应该是相反的,但我再次,我希望 RPi 能够在没有访问互联网的情况下做“事情”,而手机不能做)。
但是,Android 手机上的电源管理 (?) 似乎停止了传输,最近一次是在几个小时后(即使应用程序“未针对电池使用进行优化”)。我什至不确定这是因为电池优化还是其他原因。
目前的解决方案: 我正在使用 PeriodicWorkRequest 每 30 分钟检查一次(我在某处读到这是最短时间),如果信标仍在运行并重新启动它,如果不是。
这也可以按预期工作,但是当然,我会在信标传输停止并且在 WorkManager 再次启动之前一直回到家中。 ;)
当 BeaconTransmitter 被 PowerManagement/BatteryManager(??) 或其他东西杀死时,一种更简洁的方法是“拦截”。那可能吗? 那些covid跟踪应用程序正在使用(我希望)确保持续传输的东西,但我知道谷歌/苹果必须实施一些基本的东西才能让它们工作,当然,我不能使用covid-tracking本身,因为它是匿名的按设计。
【问题讨论】:
标签: android kotlin android-workmanager ibeacon-android batterymanager