gpt4 book ai didi

android - 使用 android-beacon-library 检测信标不起作用

转载 作者:行者123 更新时间:2023-11-29 22:56:54 28 4
gpt4 key购买 nike

我有一个信标,我正尝试将它与我不太了解的 Android 信标库一起使用。

以下是 nRF Connect 的详细信息: details

基本上,除了似乎在应用程序启动时运行一次的 didDetermineStateForRegion 覆盖之外,没有调用 onBeaconServiceConnect 中的任何方法。

我还授予了我的应用位置权限。

正在运行并在 list 中注册的应用程序代码。

class MyApplicationName : Application(), BeaconConsumer  {
var beaconManager : BeaconManager? = null

override fun onCreate() {
super.onCreate()
Log.d(TAG, "App started up")
beaconManager = BeaconManager.getInstanceForApplication(this)
beaconManager?.beaconParsers?.add(MyBeaconParser())
beaconManager?.bind(this)
}

override fun onBeaconServiceConnect() {
beaconManager?.removeAllMonitorNotifiers()
beaconManager?.addMonitorNotifier(object : MonitorNotifier {
override fun didEnterRegion(region: Region) {
Log.i(TAG, "I just saw an beacon for the first time!")
}

override fun didExitRegion(region: Region) {
Log.i(TAG, "I no longer see an beacon")
}

override fun didDetermineStateForRegion(state: Int, region: Region) {
Log.i(TAG, "I have just switched from seeing/not seeing beacons: $state")
}
})

try {
beaconManager?.startMonitoringBeaconsInRegion(Region("myMonitoringUniqueId", null, null, null))
} catch (e: RemoteException) {
}

}

companion object {
private val TAG = ".MyApplicationName"
}
}

和“MyBeaconParser”

class MyBeaconParser : BeaconParser() {
init {
mHardwareAssistManufacturers = intArrayOf(0x0551)
this.setBeaconLayout("m:0-1=03d8,i:0-1,p:1-1")
this.mIdentifier = "sylerobeacon"
}
}

最佳答案

尝试:setBeaconLayout("m:2-3=03d8,i:0-1,p:1-1")

了解“m”信标布局中的数字偏移量是根据制造商广告类型字节指示符“ff”测量的。因此,如果您的广告字节如下所示:

06 1b ff 51 05 03 d8 ...

字节 51 05 位于偏移量 0 和 1(这些是两个字节的硬件制造商代码)后跟偏移量 2 和 3 处的 03 d8。

信标解析器表达式 i 和 p 的其他项将设置标识符和测量功率分别从字节偏移量 0 和字节偏移量 1 开始。这将导致您的标识符始终设置为制造商代码 0x0551,并将测量功率设置为 0x51。这可能不是您想要的。正确设置这些术语需要弄清楚您的信标格式在何处(如果有的话)在字节模式中具有有用的标识符,以及在何处具有测量功率字节(如果它有的话)。

关于android - 使用 android-beacon-library 检测信标不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57343023/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com