在Android L中宣传蓝牙数据时,“AdvertisingMillis”是什么意思?

时间:2014-08-19 10:55:47

标签: android bluetooth bluetooth-lowenergy android-bluetooth

如Android L中的API参考中所述:https://developer.android.com/preview/reference.html

在android.bluetooth.le包中,有一个类:AdvertiseSettings,有三种关于电源的广告模式:

  1. ADVERTISE_MODE_BALANCED

  2. ADVERTISE_MODE_LOW_LATENCY

  3. ADVERTISE_MODE_LOW_POWER

  4. 我尝试了不同的模式,并希望看到详细的差异:

     advSetting = new AdvertiseSettings.Builder()
                            .setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_LOW_LATENCY)
                            .setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_LOW_POWER)
                            .setAdvertiseMode(AdvertiseSettings.ADVERTISE_TYPE_SCANNABLE)
                            .build(); 
    

    使用以下方式开始投放广告:

     bleAdv.startAdvertising(advSetting, advertisementData, advertiseCallback);
    

    从logcat中可以获得有关广告的一些日志(在Android L SDK中提供):

    低延迟:

     08-19 18:30:09.107    2507-2587/? D/GattServiceStateMachine﹕ enabling advertising:     5minAdvertisingMills 1600
    

    低功率:

    08-19 18:44:59.333    2507-2587/? D/GattServiceStateMachine﹕ enabling advertising: 5minAdvertisingMills 160
    

    平衡:

    08-19 18:41:36.284    2507-2587/? D/GattServiceStateMachine﹕ enabling advertising: 5minAdvertisingMills 400
    

    从上面的日志中可以看出,这三种模式的AdvertisingMills有所不同。但是,我不知道" AdvertisingMills"手段。

    如果这意味着Android宣传蓝牙数据的频率,那么在低功耗模式下,数据将每160毫秒发布一次,因为在低延迟模式下,数据将每隔1600毫秒进行一次广告。如果这是真的,低功耗模式的功耗是否会低于低延迟模式?

2 个答案:

答案 0 :(得分:1)

你看到了这个: https://code.google.com/p/android-developer-preview/issues/detail?id=605

这似乎是Android L中的一个错误。

答案 1 :(得分:0)

现在不幸的是,谷歌将所有广告模式设置为懒人1秒的速率。没有完全解决恕我直言。在外设模式下听到Android 5,在背景中需要55秒才能使用iOS APP。不是真的"低功耗"。 但是,它已被修复"就像将所有三个固定为相同的值一样。