实现百度地图地理围栏定位间隔
继承GeoFenceClient,当定位成功的时候停止定位,间隔30秒再启动
public class MyGeoFenceClient extends GeoFenceClient {
public MyGeoFenceClient(Context context) {
super(context);
}
@Override
public void onReceiveLocation(BDLocation bdLocation) {
super.onReceiveLocation(bdLocation);
pauseGeoFence();
}
}
Observable.interval(30, TimeUnit.SECONDS)
.subscribeOn(Schedulers.io())
.observeOn(Schedulers.io())
.subscribe(new Consumer<Long>() {
@Override
public void accept(@io.reactivex.annotations.NonNull Long aLong) throws Exception {
if (mGeoFenceClient.isPause()){
mGeoFenceClient.resumeGeoFence();
}
}
}, new Consumer<Throwable>() {
@Override
public void accept(@io.reactivex.annotations.NonNull Throwable throwable) throws Exception {
throwable.printStackTrace();
}
});