如Android L中的API参考中所述:https://developer.android.com/preview/reference.html
在android.bluetooth.le包中,有一个类:AdvertiseSettings,有三种关于电源的广告模式:
ADVERTISE_MODE_BALANCED
ADVERTISE_MODE_LOW_LATENCY
ADVERTISE_MODE_LOW_POWER
我尝试了不同的模式,并希望看到详细的差异:
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毫秒进行一次广告。如果这是真的,低功耗模式的功耗是否会低于低延迟模式?
答案 0 :(得分:1)
你看到了这个: https://code.google.com/p/android-developer-preview/issues/detail?id=605?
这似乎是Android L中的一个错误。
答案 1 :(得分:0)
现在不幸的是,谷歌将所有广告模式设置为懒人1秒的速率。没有完全解决恕我直言。在外设模式下听到Android 5,在背景中需要55秒才能使用iOS APP。不是真的"低功耗"。 但是,它已被修复"就像将所有三个固定为相同的值一样。