-1

ACCESS_COARSE_LOCATIONとACCESS_FINE_LOCATONの両方がマニフェストに含まれています。また、活動に含まれては、次のとおりです。ヌルポインタの原因となるGPS精度の不足

import android.location.Location; 
import android.location.LocationManager; 

私は以下のクラス。このことから

private class DrawerItemClickListener implements ListView.OnItemClickListener { 
    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 

    LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
    Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
     if (location != null) 
     { 
      final double longitude = location.getLongitude(); 
      final double latitude = location.getLatitude(); 
     } 

    selectItem(position); 
    } 
} 

location = nullとNAVの引き出しのリスナーを持っているので、location.getLongitude();に失敗していました。私はもちろんif (location != null)でこれを避けることができますが、latlongが見つかりました。

なぜ場所は常にnullですか?

+1

API 23以降をターゲットに設定していますか? [実行時に許可を要求する](https://developer.android.com/training/permissions/requesting.html)はどこですか? – ianhanniballake

答えて

1

ハードウェア側での位置の特定は容易ではありません。あなたは私の場所を知っていることをデバイスに伝えることはできませんので、今すぐ私にそれを伝えてください! GPS衛星からのデータを外から見えるようにする必要があります。そうでなければ、Wi-Fiのような他のオプションが使用されます。あなたのデバイスが有効な場所を見つけるまで待ってください。このイベントが発生した場合は、onLocationChangedイベントを監視し、リストビューを更新することをお勧めします。また、あなたの場所を検出するまで、nullの条件を使用すると良いです。

+0

過去数日間は猛烈な吹雪がありました。これが原因だろうか? – Iorek

+0

最高の場合であっても、場所を直接使用すると、おそらくヌルデータが得られます。ですから、あなたはonLocationChangedイベントを待つ必要があります。 – uguboz

+0

はい、ソリューションはhttp://stackoverflow.com/questions/9873190/my-current-location-always-returns-null-how-can-i-fix-thisです。銃を飛ばしている改造者 – Iorek