Android 앱을 개발 중이며 앱을 실행하자마자 사용자의 현재 위치를 검색하고 싶습니다.앱이 처음 시작될 때 getLastLocation() 메소드가 위치를 검색하지 않는 이유는 무엇입니까?
이 코드를 사용하고 있습니다 : 나는 위치가 감지되지 않을 때 팝업과 "RETRY"버튼이있는 Snackbar
을 사용하고
@Override
public void onConnected(@Nullable Bundle bundle) {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
mGoogleApiClient);
if (mLastLocation != null) {
currentLatDouble = mLastLocation.getLatitude();
currentLngDouble = mLastLocation.getLongitude();
}
}
. "RETRY"버튼을 누르면 위의 코드가 다시 실행되며 이번에는 위치가 검색됩니다.
내가 원하는 것은 응용 프로그램을 시작하자마자 위치를 검색하고 싶습니다.
알려 주시기 바랍니다.
aswer는 평소와 같이 ... getLastLocation이 null을 반환 할 수 있기 때문에 ... – Selvin
@Selvin 왜 앱이 시작될 때마다 null이 반환되고 두 번째 시도가 아닌가? –
장치가 어떤 위치를 얻고 마지막으로 알려진 위치로 설정할 시간이 될 수 있습니다. –