1

我面临一个问题,因为在加载另一个应用程序(例如 Google 地图)并触发位置更新之前,我无法在我的应用程序中获取任何位置信息。

为了解决这个问题,我想在 onCreate() 触发时开始位置更新,然后在收到位置时立即停止它。我在 onCreate() 方法中使用以下代码:

// Location client
        final FusedLocationProviderClient locationClient = getFusedLocationProviderClient(this);
        if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            locationClient.requestLocationUpdates(new LocationRequest().setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY).setInterval(500).setFastestInterval(500), new LocationCallback() {
                @Override
                public void onLocationResult(LocationResult locationResult) {
                    super.onLocationResult(locationResult);
                    locationClient.removeLocationUpdates(new LocationCallback() {

                    });
                }

                @Override
                public void onLocationAvailability(LocationAvailability locationAvailability) {
                    super.onLocationAvailability(locationAvailability);
                }
            }, null);
        }

在此之后仍然没有存储任何位置,直到我运行谷歌地图。任何建议表示赞赏!

4

0 回答 0