#java #android
#java #Android
Вопрос:
Я просто хочу получать данные о местоположении в моей активности, которые я отправляю из элемента управления эмулятором. Ниже приведен код, который я использую в своей основной деятельности:
public class LocationAlert extends Activity {
TextView txtMessage;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txtMessage = (TextView)findViewById(R.id.txtMsg);
LocationManager lm = (LocationManager)getSystemService(LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 0, mLocListener);
if (lm.getLastKnownLocation(LocationManager.GPS_PROVIDER) != null){
txtMessage.setText(String.valueOf(lm.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLatitude()));
}
}
LocationListener mLocListener = new LocationListener() {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onLocationChanged(Location location) {
if (location != null){
txtMessage.setText("Latitude: " String.valueOf(location.getLatitude()) ", Longitude: " String.valueOf(location.getLongitude()));
}
}
};
}
но я не получаю никаких данных, и все процессы, запущенные в эмуляторе, закрываются один за другим, что я вижу на вкладке Устройства. Что не так с приведенным выше кодом?
Ответ №1:
Возможно, вам не хватает некоторых разрешений Android в файле манифеста. добавьте это в свой манифест
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>