0

昨年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同様、成功しません。

私はここで何が欠けていますか?

+0

あなたのアプリが場所にアクセスする権限を持っているかどうかのアクセス許可をチェックしますか?デバイスがアクセスをブロックした可能性があるためです。 – Kaushal28

+0

パーミッションが付与されています(電話機の設定のAppビューにLocationパーミッションが表示されます)。次のステートメントはtrueです。 checkCallingOrSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION)== PackageManager.PE' – Onur

答えて

0

私は、GPSセンサーが電話機に更新を提供していないことを認識しました。たとえば、位置精度をGPSセンサーに限定した場合など、Googleマップでは決して位置情報が取得されません。

電話機をインターネットに接続すると、NETWORK_PROVIDERに位置情報が更新されます。

関連する問題