以下のコードを使用して、アプリで現在の場所を取得しようとしています。
List<Address> adds = null;
double lat;
double lng;
private Geocoder geocoder;
String bestProvider;
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
bestProvider = lm.getBestProvider(criteria, false);
Location location = lm.getLastKnownLocation(bestProvider);
if (location == null)
{
Toast.makeText(this,"Location Not found",Toast.LENGTH_LONG).show();
}
else
{
geocoder = new Geocoder(this);
try
{
users = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
lat=(double)users.get(0).getLatitude();
lng=(double)users.get(0).getLongitude();
System.out.println(" DDD lat: " +lat+", longitude: "+lng);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
ただし、場所が null として表示され続けるため、場所が見つかりませんというメッセージがアプリに表示されます。何か不足していますか?
マニフェストのアクセス許可:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
どんな助けでも大歓迎です。