Android会在应用程序加载时强制进行位置更新-fusedlocationproviderclient

时间:2019-07-25 10:21:12

标签: android fusedlocationproviderclient

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

为了解决这个问题,我想到了在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);
        }

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

0 个答案:

没有答案