0
私はずっと前に質問を投稿します。基本的に私がやっていることは、私のロケーションマネージャーに私の経度と緯度を返させることです。私のgetBestProvider()メソッドはネットワークを返しますが、私のlocationManager.getLastKnownLocation(provider)はnullを返します。ご覧のとおり、私はリスナーを実装しました。私は間違ったことをしたに違いない。ユーザーの場所が見つかりません
ここにコードがあります。
public class Activity1 extends Activity implements LocationListener {
private LocationManager locationManager;
private String provider;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
readFile();
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, false);
System.out.println(provider);
System.out.println(locationManager.getProviders(criteria, false));
System.out.println(locationManager.getProvider("network"));
System.out.println(locationManager.getAllProviders());
Location location = locationManager.getLastKnownLocation(provider);
// Initialize the location fields
if (location != null) {
System.out.println("Provider " + provider + " has been selected.");
int lat = (int) (location.getLatitude());
int lng = (int) (location.getLongitude());
System.out.println(String.valueOf(lat));
System.out.println(String.valueOf(lng));
} else {
System.out.println("Provider not available");
System.out.println("Provider not available");
}
}@Override
protected void onResume() {
super.onResume();
locationManager.requestLocationUpdates(provider, 400, 1, this);
}
/* Remove the locationlistener updates when Activity is paused */
@Override
protected void onPause() {
super.onPause();
locationManager.removeUpdates(this);
}
@Override
public void onLocationChanged(Location location) {
int lat = (int) (location.getLatitude());
int lng = (int) (location.getLongitude());
System.out.println(String.valueOf(lat));
System.out.println(String.valueOf(lng));
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
Toast.makeText(this, "Enabled new provider " + provider,
Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderDisabled(String provider) {
Toast.makeText(this, "Disenabled provider " + provider,
Toast.LENGTH_SHORT).show();
}
}
誰かがないずっと前にあなたと同じ問題を有し、このTHEADをチェック:[ユーザーの場所が見つかりません: - アンドロイドにおける緯度及び経度(http://stackoverflow.com/question/7308313/user-location-not-found-latitude-and-longitude-in-android/7308484#7308484) – Tiago
私はそれを読んだが問題は解決しなかった。私は彼がやったことをやって、まだヌルになる。 –