Android-融合位置:如何获得强制更新位置

时间:2019-05-09 23:06:13

标签: java android location

我有一个允许用户在特定区域使用的应用程序,这意味着我不需要跟踪用户,但是我需要确保接收到的位置是新鲜的(即使需要等待)。

执行此操作的最佳方法是什么?目前正在使用:  getLastLocation()  但有时可以得到先前的位置。

1 个答案:

答案 0 :(得分:0)

如果满足位置条件,您可以register a location listener并继续执行代码:

locationCallback = new LocationCallback() {
    @Override
    public void onLocationResult(LocationResult locationResult) {
        if (locationResult == null) {
            return;
        }
        for (Location location : locationResult.getLocations()) {
            //if(this is the location) jump to the code which makes the app usable
        }
        //stay unusable
    };
};

获取位置可能需要一些时间。如果要强制使用ui线程直到精确到足够的位置,则强制获取该位置是一个糟糕但可行的想法。