当我在我的 Android 项目中运行单元测试时出现以下错误(我在构建应用程序并在设备上运行它时没有收到错误消息):
BeaconService 未在 AndroidManifest.xml 中正确声明。如果使用 Eclipse,请验证您的 project.properties 是否有 manifestmerger.enabled=true org.altbeacon.beacon.BeaconManager$ServiceNotDeclaredException:BeaconService 未在 AndroidManifest.xml 中正确声明。如果使用 Eclipse,请验证您的 project.properties 是否有 manifestmerge.enabled=true
Android Studio 会自动将Android Beacon Library 中的AndroidManifest.xml 合并到我自己的AndroidManifest.xml 中,这样就无需在我的AndroidManifest.xml 中声明Beacon Services。
这是我当前的 AndroidManifest.xml(位于我的 /src/main/ 文件夹中,我的 /src/test/ 文件夹中没有):
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xxx.xxx">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<permission
android:name="com.xxx.xxx.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="com.xxx.xxx.permission.C2D_MESSAGE" />
<application
android:name=".xxxApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".LoginActivity"
android:label="@string/title_activity_login" /> …Run Code Online (Sandbox Code Playgroud) 如果我的理解是正确的,iBeacon 的广告数据包的有效载荷的前 9 个字节是 iBeacon 前缀。第 6-7 字节是公司标识符代码,对于 iBeacon 广告包,它是4C 00(== Apple )。
既然 iBeacon 数据包是由苹果“签名”的,那么协议是专有的吗?如果它是开放的,那么广告不应该绑定到 Apple - 对吧?
如果它是专有的,iBeacon 数据包结构是否可以被操纵?
谢谢
据我所知,在信标发送的包中,它包含有关校准 Tx 功率(或测量功率 - 1 米处的功率值)的信息。我只是想知道为什么信标发送校准的 Tx 功率,而不是广播功率(信标从源发送的信号功率)。因为计算逻辑可能会有所不同,但它使条款和配置更加简单。
传输 BLE 信标与扫描信标的能耗有何区别?我正在考虑制作一个应用程序来扫描特定的信标,并在收到特定的信标后开始传输自己的信标。
Android 10 上的altbeacon已停止工作。是否需要进行任何更改,特别是要转到 Android 10?
我已将以下权限添加到我的 AndroidManifest.xml
<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>
<uses-permission android:name=\"android.permission.BLUETOOTH\"/>
<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>
<uses-permission android:name=\"android.permission.ACCESS_BACKGROUND_LOCATION\"/>
<uses-permission android:name=\"android.permission.RECEIVE_BOOT_COMPLETED\" />
<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>
Run Code Online (Sandbox Code Playgroud)
查看应用程序权限,我的应用程序在运行时具有位置和BT权限。我开始onBeaconServiceConnect按照https://altbeacon.github.io/android-beacon-library/samples.html 的规定寻找信标。我错过了什么?
我\xe2\x80\x99m 之前在使用 iOS 14.0 时遇到了以下问题 - 通过后台位置权限我可以:
\n使用 iOS14 重新测试,没有精确的位置,我的应用程序不再因应用程序切换器终止而被唤醒。
\n重新启用精确位置权限,一切都像以前一样。
\n在没有精确位置权限的情况下,我需要做什么才能让后台应用程序唤醒 iBeacon 区域?
\n或者
\n如何检测缺少精确位置权限并通知用户应用程序将无法按预期运行?
\n\ncllocationmanager ibeacon region-monitoring background-task ios14
我最近收购了一些Raspberry Pis和CSR蓝牙4.0 USB加密狗.我已经尝试了所有的博客和教程(其中最好的是来自Radius Networks和Adafruit),但我要么缺少重要的行为行为或配置步骤.
我正在使用从源代码编译的Bluez 5.17.我的CSR 4.0 BLE加密狗似乎也运行良好:
$ sudo hciconfig
hci0: Type: BR/EDR Bus: USB
BD Address: 00:1A:7D:DA:71:0F ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:12649 acl:0 sco:0 events:464 errors:0
TX bytes:2658 acl:0 sco:0 commands:124 errors
Run Code Online (Sandbox Code Playgroud)
当我开始一个女同志时,我什么都没看到.我的iPhone 5s启用了蓝牙功能.
$ sudo hcitool lescan
LE Scan ...
Run Code Online (Sandbox Code Playgroud)
从我的iPhone 5s开始,我启动了"Beacon Toolkit",创建一个带有随机UUID的新iBeacon并激活它.很多女同性恋活动被捡起来了.
$ sudo hcitool lescan
LE Scan ...
5E:EE:91:0C:BE:2E (unknown)
5E:EE:91:0C:BE:2E (unknown)
5E:EE:91:0C:BE:2E (unknown)
...
Run Code Online (Sandbox Code Playgroud)
所以我决定尝试做广告:
$ sudo hcitool -i hci0 cmd 0x08 0x0008 1E …Run Code Online (Sandbox Code Playgroud) 在尝试实例化CLBeaconRegion时,我总是得到零值.
我有以下代码:
NSUUID *myUUID = [[NSUUID alloc] initWithUUIDString:@"11111111111111111111111111111111"];
CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:myUUID
identifier:@"myCompany"];
CLLocationManager *locManager = [[CLLocationManager alloc] init];
[locManager setDelegate:self];
[locManager startRangingBeaconsInRegion:region];
Run Code Online (Sandbox Code Playgroud)
由于以下原因导致最后一行失败:'无效参数不满足:region!= nil',这是明确的,因为region是nil.
但为什么地区没有?我究竟做错了什么?
我想使用室内定位系统开发一个应用程序来跟踪我的应用程序用户的位置.我研究互联网,但没有使用除移动设备之外的任何其他设备,无法找到任何方式开发它ibeacon.我找到了以下git repo和使用的文档ibeacon.
https://github.com/Estimote/iOS-Indoor-SDK
摘自以上链接
我们知道构建下一代上下文感知移动应用需要的不仅仅是iBeacon™硬件.这就是为什么我们构建了更智能的软件,它可以消除在给定空间内理解接近度和位置的难度.
我想利用移动设备的蓝牙技术.建议我使用蓝牙实现IPS的链接或方法.
ibeacon ×10
android ×4
altbeacon ×3
ios ×3
bluetooth ×2
android-10.0 ×1
beacon ×1
ios14 ×1
kontakt.io ×1
objective-c ×1
raspberry-pi ×1