API 21을 사용하여 작년에 구현 된 GPS 업데이트를 수신하는 앱이 있습니다. LG G4와 같은 Lollipop을 실행하는 여러 Android 휴대 전화에서 테스트되었습니다. 이제 마쉬 멜로우가 장착 된 LG G5에 GPS를 설치했는데 GPS 업데이트가 수신되지 않습니다. 즉, onLocationChanged()
는 절대 호출되지 않습니다.Marshmallow에서 API 21에 LocationListener 사용
권한이 부여된다 (휴대 전화의 설정에 앱보기 위치 권한을 보여줍니다) 다음과 같은 문장은 true
checkCallingOrSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED
의 AndroidManifest.xml이다이 라인을 포함
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.location.gps" />
코드 I를 다음과 같이 사용합니다 :
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
locationListener = getLocationListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
private LocationListener getLocationListener() {
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
handleLocationChange();
}
public void onStatusChanged(String provider, int status, Bundle extras) { }
public void onProviderEnabled(String provider) { }
public void onProviderDisabled(String provider) { }
};
return locationListener;
}
ried NETWORK_PROVIDER
도 마찬가지입니다. 성공하지 못했습니다.
무엇이 여기에 있습니까?
앱에 위치 정보 액세스 권한이 있는지 여부에 대한 권한을 확인 하시겠습니까? 기기가 액세스를 차단 한 경우 일 수 있습니다. – Kaushal28
권한이 부여됩니다 (휴대 전화 설정의 App보기에는 위치 권한이 표시됨). 다음 문은 'true'입니다. checkCallingOrSelfPermission (Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PE' – Onur