无法使用android上的altbeacon库在后台检测信标
我的用例非常简单,我只想在用户靠近信标时用给定的UID检测我的信标。 应用程序应该每隔60秒在后台查找一次信标 我的目标是安卓棉花糖和更高版本,所以我要确保位置是从设置和运行时权限的罚款位置也包括在内 使用下面的代码,我在非常不一致的基础上检测到背景中的信标,并且不是每60秒检测一次 这是我用来检测信标的代码:-无法使用android上的altbeacon库在后台检测信标,android,altbeacon,beacon,eddystone,Android,Altbeacon,Beacon,Eddystone,我的用例非常简单,我只想在用户靠近信标时用给定的UID检测我的信标。 应用程序应该每隔60秒在后台查找一次信标 我的目标是安卓棉花糖和更高版本,所以我要确保位置是从设置和运行时权限的罚款位置也包括在内 使用下面的代码,我在非常不一致的基础上检测到背景中的信标,并且不是每60秒检测一次 这是我用来检测信标的代码:- public class MyApplication extends Application implements BootstrapNotifier { private st
public class MyApplication extends Application implements BootstrapNotifier {
private static final String TAG = "radbeacon";
@Override
public void onCreate() {
super.onCreate();
scanBeacons();
}
@Override
public void didDetermineStateForRegion(int arg0, Region arg1) {
// Don't care
}
@Override
public void didEnterRegion(Region arg0) {
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
}
@Override
public void didExitRegion(Region arg0) {
// Don't care
}
private void scanBeacons()
{
RegionBootstrap regionBootstrap;
BackgroundPowerSaver backgroundPowerSaver;
BeaconManager beaconManager;
beaconManager = BeaconManager.getInstanceForApplication(this);
beaconManager.getBeaconParsers().clear();
beaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout(BeaconParser.EDDYSTONE_UID_LAYOUT));
Identifier identifier = Identifier.parse("0xe2bfcc3cc2370789caef");
Region region = new Region("my-beacon-region",identifier,null,null);
beaconManager.setBackgroundBetweenScanPeriod(60000L);
beaconManager.setBackgroundScanPeriod(2000L);
try
{
beaconManager.updateScanPeriods();
}
catch (RemoteException e){e.printStackTrace();}
regionBootstrap = new RegionBootstrap(this,region);
backgroundPowerSaver = new BackgroundPowerSaver(this);
}
}
我需要对现有代码进行哪些更改才能获得所需的功能?谢谢。你的灯塔的广告费是多少?由于您监视的不是测距,因此每次遭遇只能检测一次是吗?通常需要多长时间?前台应用程序的行为是否不同?不知道在哪里可以找到。如果这意味着校准功率,那么它是-20。我有两个信标,它们都具有相同的名称空间id,但具有不同的实例id(1和2)。如果我靠近实例id为1的信标,那么我将收到找到信标1的通知,下次如果我靠近同一信标,那么我将不会收到任何通知。我将再次从实例id为1的信标处收到通知,如果我靠近它时从实例id为2的信标处收到通知。