解决方法
您可以使用LocationListener创建Observables或Subject,并在onLocationChanged中获取回调时,只需使用location对象调用onNext.
public final class LocationProvider implements onLocationChanged { private final PublishSubject<Location> latestLocation = PublishSubject.create(); //... @Override public void onLocationChanged(Location location) { latestLocation.onNext(location); } }
然后,您可以在需要位置的类中订阅它.
您还可以使用一些开源库:Android-ReactiveLocation和cgeo
另请参见Observable-based API and unsubscribe issue
希望这可以帮助!