昨年API 21を使用して実装されたGPSアップデートを受信するアプリがあります.Lollipopを実行しているいくつかのAndroid携帯端末(LG G4など)でテストされました。今、私はそれをMarshmallowのLG G5にインストールしました。私はGPSアップデートを受けません。すなわち、onLocationChanged()
は決して呼び出されません。MarshmallowでAPI21の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ビューにLocationパーミッションが表示されます)。次のステートメントはtrueです。 checkCallingOrSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION)== PackageManager.PE' – Onur