标签: ibeacon-android

这是使用AltBeacon的Android Beacon Library检测iBeacons的正确布局吗?

我已成功修改了参考实现应用程序的的Android的信标库使用以下信标布局,使得它检测到我手边的iBeacon显示设备:

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
        beaconManager.getBeaconParsers().add(new BeaconParser().
               setBeaconLayout("m:0-3=4c000215,i:4-19,i:20-21,i:22-23,p:24-24"));
        beaconManager.bind(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

作为BLE数据包内部的新手,我不确定这是否是正确的布局.该库赞同AltBeacon标准,其文档未提及如何检测iBeacon设备.

  • 这段代码会检测所有 iBeacon设备吗?即m:前缀是否过于严格,或者是与iBeacon规范匹配的正确字节序列?
  • 同样,其余布局是否与iBeacon规范完全匹配?

参考:

ibeacon-android altbeacon

92
推荐指数
2
解决办法
3万
查看次数

将iBeacon蓝牙低能耗与Android 4.3相结合

我正在寻找一种从Android设备检测iBeacon(iOS 7.0功能)的方法.我阅读了Android文档,其中似乎iBeacon是某种GATT服务器,它发送它的位置.虽然Android文档说我不应该轮询该数据,但是对于检测,这将是必要的.

我谷歌很多,但这个话题很新(我甚至创建了一个新标签)所以如果我从iOS世界获得一些描述实现的资源链接,我会很高兴.此外,如果有一些Android库,我还没有找到它会很好.

android bluetooth-lowenergy ios7 ibeacon ibeacon-android

39
推荐指数
1
解决办法
2万
查看次数

BluetoothLeAdvertiser可以在Android 5.0的Nexus 5上运行吗?

将我的Nexus 5闪存到Android 5.0预览版本hammerhead-lpx13d后,操作系统报告它不再支持蓝牙LE广告.如果你打电话:

((BluetoothManager) this.getSystemService(Context.BLUETOOTH_SERVICE))
    .getAdapter().getBluetoothLeAdvertiser()
Run Code Online (Sandbox Code Playgroud)

始终返回null.另外,新方法:

((BluetoothManager) this.getSystemService(Context.BLUETOOTH_SERVICE))
    .getAdapter().isMultipleAdvertisementSupported()
Run Code Online (Sandbox Code Playgroud)

总是返回false

第一种用于在6月份返回Nexus 5的第一个Android L预览版本上的有效对象的方法.闪烁最新更新后,它不再这样做了.

有人看到了吗?

编辑:至少有一个人在此处复制了此问题,他在此处向Google提出了一个问题:https://code.google.com/p/android-developer-preview/issues/detail?id = 1570

android bluetooth-lowenergy ibeacon ibeacon-android

20
推荐指数
2
解决办法
1万
查看次数

在Android 5.0 Lollipop上减少了BLE startScan检测到的设备

精简版:

在我使用Android 5.0 Lollipop的测试中,我注意到android.bluetooth.le.BluetoothLeScanner检测BLE设备的频率低于Android 4.4 KitKat.为什么这样,还有其他选择吗?

长版:

我正在开发一款Android应用程序,专门用于Nexus 7平板电脑,专注于检测蓝牙低功耗(BLE)设备.该应用程序主要感兴趣的是信标的RSSI值,以确定它们与平板电脑的接近程度.这意味着我不需要连接到BLE设备,因为在检测到设备时RSSI值会传递给扫描回调.

在Android 4.4 KitKat中,当我调用时BluetoothAdapter.startLeScan(LeScanCallback),对于每个检测到的BLE设备,我的回调仅被调用ONCE.(我已经看到一些讨论声称每个设备的行为可能不同)但是,我对不断变化的RSSI值感兴趣,所以目前推荐的方法是以设定的间隔(在我的情况下为250ms)连续执行startLeScan和stopLeScan:

public class TheOldWay {

    private static final int SCAN_INTERVAL_MS = 250;

    private Handler scanHandler = new Handler();
    private boolean isScanning = false;

    public void beginScanning() {
        scanHandler.post(scanRunnable);
    }

    private Runnable scanRunnable = new Runnable() {
        @Override
        public void run() {
            BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();

            if (isScanning) {
                adapter.stopLeScan(leScanCallback);
            } else if (!adapter.startLeScan(leScanCallback)) {
                // an error occurred during startLeScan
            }

            isScanning = …
Run Code Online (Sandbox Code Playgroud)

rssi bluetooth-lowenergy ibeacon-android android-ibeacon android-5.0-lollipop

20
推荐指数
2
解决办法
2万
查看次数

Android BLE Beacon扫描

Android 4.3中添加了蓝牙LE,但似乎没有后台扫描模式,一旦注册通过附近的可用BLE UUID进行通知,它就会唤醒应用程序.

这似乎可以通过iOS7和iBeacons API实现.有没有人知道Android 4.3中是否有这样的功能,或者是否有针对BLE设备进行周期性扫描BLE环境的良好解决方法?

http://developer.android.com/guide/topics/connectivity/bluetooth-le.html

http://techcrunch.com/2013/09/11/estimote-details-ios-7-ibeacon-support-for-its-contextual-proximity-shopping-devices/

android bluetooth ibeacon-android

14
推荐指数
1
解决办法
2万
查看次数

用于BLE广告的Android 5静态蓝牙MAC地址

Android 5引入了BLE MAC地址轮换以增加隐私.每次调用BluetoothLeAdvertiser.startAdvertising()时,MAC地址都会更改.

是否可以禁用地址旋转,并在BluetoothLeAdvertiser的整个生命周期内使用相同的MAC地址?

bluetooth bluetooth-lowenergy ibeacon-android android-5.0-lollipop

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

Estimote信标区域检测从后台服务

我最近开始测试Estimote Beacons,我正在尝试在进入信标区域时从后台服务发出通知,但不幸的是我的解决方案不起作用.它不会出错,但在发现信标时不会启动通知.我不知道它是否是一些代码错误或只是这样做的方式是错误的.我已经阅读了这个其他问题,但它看起来有点不同,因为我使用的是服务而不是活动,但也许答案是类似的(应用程序上下文相关)...

这是我的服务代码

public class BeaconsMonitoringService extends Service{

    private BeaconManager beaconManager;

    private String user;

    @Override
      public void onCreate() {
        // Configure BeaconManager.
        beaconManager = new BeaconManager(this);

      }

      @Override
      public int onStartCommand(Intent intent, int flags, int startId) {
          Toast.makeText(this, "Beacons monitoring service starting", Toast.LENGTH_SHORT).show();

          user = intent.getStringExtra("user");

            // Check if device supports Bluetooth Low Energy.
            if (!beaconManager.hasBluetooth()||!beaconManager.isBluetoothEnabled()) {
              Toast.makeText(this, "Device does not have Bluetooth Low Energy or it is not enabled", Toast.LENGTH_LONG).show();
              this.stopSelf();
            }

              connectToService();


          // If we get …
Run Code Online (Sandbox Code Playgroud)

android ibeacon ibeacon-android estimote

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

如何在不使用任何库的情况下检测android中的IBeacon

我是Ibeacon的新手,我想知道我们可以在不使用任何SDKLibrary或库的情况下检测到android中的Ibeacon,任何人都可以提供示例示例.

我知道像Radius Networks这样的图书馆.但我不想使用任何图书馆

android ibeacon ibeacon-android android-ibeacon

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

Altbeacon库无法在Android 5.0上运行

昨天我在Nexus 4上获得了Android 5.0的更新,并且altbeacon库停止了检测信标.似乎在监视和测距时,didEnterRegion和didRangeBeaconsInRegion都没有被调用.

即使Radius Networks的Locate应用程序现在表现不同,一旦检测到信标的值,它们就不再得到更新,而且通常看起来好像信标超出了范围.

我注意到的一点是,现在在logcat中出现以下行"BluetoothLeScanner:找不到回调包装器".我继续寻找那个类,看到它是用Android L引入的,但我不知道这是否与它有关.

重要的是,在更新之前,我一直在使用Locate应用程序和参考应用程序,没有任何麻烦.

我不知道这是否是一个普遍的问题,但如果它发生在我身上,我相信它可能发生在其他人身上,所以任何帮助都会真的很受欢迎.

提前致谢!

更新:

在让图书馆工作失败后,我决定尝试图书馆的Android L分支.我做的是我将新库插入参考应用程序,但也没有按预期工作.

通过在设备进入新区域时通知,Monitor Activity似乎正常工作.但是,测距活动不报告任何信标,虽然已经调用了ofRangeBeaconsInRegion,但总是报告零信标.奇怪的是,当活动暂停时(暂时切换到另一个应用程序),logcat显示现在使用实际信标调用了didRangeBeaconsInRegion.

我现在有点卡住,因为我不知道如何让任何图书馆在Android L上工作,所以再次,任何帮助都会非常感激.

bluetooth-lowenergy ibeacon-android altbeacon android-5.0-lollipop

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

蓝牙LE的txPower究竟是什么?它是如何使用的?

我试图了解txPower究竟是什么以及如何使用它,因为我计划开发使用Beacons的Android应用程序.

我在网上看到了2个定义:

1.信标的发射功率.

2.接收功率距离信标1米.

这两个定义有何关联?此外,当使用诸如QuickBeacon之类的应用程序从设备发送信标信号时,如何确定将功率(txPower)设置为?

android bluetooth-lowenergy ibeacon ibeacon-android altbeacon

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