Как включить местоположение программно без разрешения? - PullRequest
0 голосов
/ 21 апреля 2020

Я работаю над приложением "найди свой телефон" и хочу отправить местоположение в базу данных, когда срабатывает триггер fcm, но когда отключено определение местоположения, я не могу взять местоположение. Это приложение представляет собой приложение администратора устройства. Как я могу включить местоположение и получить данные GPS? Я не могу запросить разрешение, потому что это для случаев потери и кражи.

                                   Task<Location> task = mFusedLocationClient.getLastLocation();

                                   task.addOnSuccessListener(new OnSuccessListener<Location>() {
                                       @Override
                                       public void onSuccess(Location location) {
                                           if(location!=null) {
                                               //Write your implemenation here
                                               Log.d("AndroidClarified",location.getLatitude()+" 
                                               "+location.getLongitude());
                                                   }
                                               });
                                           }
                                       }
                                   });

1 Ответ

0 голосов
/ 21 апреля 2020

Пожалуйста, попробуйте это.


private val locSettingRequest by lazy { with(LocationSettingsRequest.Builder()) {
        addLocationRequest(locRequest)
        return@with this
    }}

val task = LocationServices.getSettingsClient(activity)
            .checkLocationSettings(locSettingRequest.build())
        task.addOnCompleteListener {
            try {
                // Enabled
                task.getResult(ApiException::class.java)
            } catch(aex: ApiException) {
                onLocationDenied?.invoke()
                when(aex.statusCode) {
                    LocationSettingsStatusCodes.RESOLUTION_REQUIRED -> {
                        try {
                            val resolvableApiException = aex as ResolvableApiException
                            resolvableApiException.startResolutionForResult(activity as Activity, REQUEST_LOCATION_SERVICE)
                        } catch (sex: IntentSender.SendIntentException) {

                        } catch (cex: ClassCastException) {

                        }
                    }
                    LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE -> {

                    }
                }
            }
        }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...