我有一个测试应用程序有两个按钮,一个是启动Wifi跟踪,另一个是停止。当我启动Wifi跟踪时,如果范围内有一个接入点,并且没有触发入口事件,那么我不知道是否在围栏中。有没有一种方法,当跟踪开始时,我可以得到通知,我在围栏内?
function startWifiTracking() {
//create the geofences and triggers
var triggers = {
Wifi : {
fc_entry : { type : 'Enter',
areaAccessPoints : [{SSID: 'test', MAC: '12:12:12:12:12:12'}],
callback : entry1,
otherAccessPointsAllowed : true},
fc_exit : { type : 'Exit',
areaAccessPoints : [{SSID: 'test', MAC: '12:12:12:12:12:12'}],
callback : exited1,
otherAccessPointsAllowed : true}
}};
//create the wifi policy for the wifi access points to be monitored
var policy = {
Wifi : {
interval : 3000,
signalStrengthThreshold : 15,
accessPointFilters : [{SSID: 'test', MAC: '*'}]
}};
WL.Device.startAcquisition(policy, triggers, acquisitionFailure);
}
//trigger callbacks for each wifi fence
function entry1() { alert('entered'); }
function exited1() { alert('exited'); }
function acquisitionFailure() {alert('failed');}
$(function() {
$('#btnStart').click( function(){
startWifiTracking();
});
});
$(function() {
$('#btnStop').click( function(){
WL.Device.stopAcquisition();
});
});
答案 0 :(得分:0)
我认为你可以尝试一些不同的东西。
1)使用DwellInside触发器,其dwellingTime参数为0。
2)使用WL.Device.Wifi.acquireVisibleAccessPoints API并检查接收到的接入点数组是否在onSuccess回调中非空。