Я Тринг использовать GPS на андроид эмулятор, я следующий код:Android - Невозможно получить расположение GPS на эмуляторе
public class NL extends Activity {
private LocationManager locmgr = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nl);
locmgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_FINE);
String provider = locmgr.getBestProvider(crit, true);
Location loc = locmgr.getLastKnownLocation(provider);
Toast msg = Toast.makeText(this, "Lon: " + Double.toString(loc.getLongitude()) + " Lat: " + Double.toString(loc.getLatitude()), Toast.LENGTH_SHORT);
msg.show();
}
}
я добавил следующую строку на манифест:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
и я установить местоположение GPS с помощью метода DDMS и либо с помощью метода исправления гео, но когда я запускаю код, я получаю NullPointerExeption на Toast линии, вероятно, причину LOC является нулевым ,
Я не понимаю, где ошибка ... вы можете мне помочь?
ОБНОВЛЕНИЕ!
Спасибо за вашу помощь, теперь я использую следующий код, и я не получаю никаких ошибок, но он не запускает код внутри onChangeLocation ... он не запускает Toast и не возвращает никаких сообщение в журнале!
public class NL extends Activity {
private LocationManager locmgr = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nl);
locmgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location loc) {
// Called when a new location is found by the network location provider.
Log.i("NOTIFICATION","onLocationChenged Triggered");
Toast msg = Toast.makeText(NetworkLocator.this, "Lon: " + Double.toString(loc.getLongitude()) + " Lat: " + Double.toString(loc.getLatitude()), Toast.LENGTH_SHORT);
msg.show();
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
// Register the listener with the Location Manager to receive location updates
locmgr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
}
}
Спасибо!
вы проверить, если * locmgr.getBestProvider * фактически возвращает "GPS"? в любом случае, вы должны обязательно реализовать * LocationListener * и передать его в LocationManager с помощью * requestLocationUpdates() * –
getBestProvider вернуть «gps». иметь, чтобы добавить locationlistener, даже если я пытаюсь получить locatio с lastKnownLocation? спасибо за вашу помощь –
@Marco Faion Пожалуйста, держите ответы ур обновленные ... Я уже один раз отвечал вам, и вы не дали никакой обратной связи по ответу! > 'http: // stackoverflow.com/questions/4591765/android-sqlite-database-method-undefined-fot-type/4591843 # 4591843' – Beasly