Не удается найти местоположение при запуске приложения - PullRequest
0 голосов
/ 20 августа 2011

Я пытаюсь разработать небольшое приложение, которое при запуске показывает название текущего местоположения в тосте или что-то.Код, который я написал, покажет на экране тост с указанием только местоположения, если я отправляю координаты вручную из представления управления эмулятором из Eclipse.

Мой вопрос: есть ли способ каким-либо образом заставить эту отправку координатзапуск, потому что я хочу, чтобы тост, когда приложение загружается?И как я могу это сделать?Спасибо.

Вот код:

public class HomeActivity extends Activity implements LocationListener {

    private LocationManager locationManager;
    private String welcomeMsg;
    private String crtLocationName;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        initLocationManager();
    }

    private void initLocationManager(){
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 5000, this);
    }


     */
    @Override
    public void onLocationChanged(Location location) {
        if (location != null) {
            try {
                crtLocationName = getLocationName(location);

                Toast.makeText( getApplicationContext(), crtLocationName, Toast.LENGTH_LONG).show();
            } catch (IOException e) {
                welcomeMsg = "Location cannot be determined";
                crtLocationName = "";
            }

//          locationManager.removeUpdates(this);
        }
    }


    @Override
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }

} 

1 Ответ

2 голосов
/ 20 августа 2011

Поскольку в эмуляторе нет GPS-приемника, метод onLocationChanged будет вызываться только в том случае, если вы дадите несколько новых координат через DDMS.

На реальном телефоне он не будет отображать тост сразу;он будет ждать, пока не найдет спутник GPS и не получит данные GPS, а затем отобразит сообщение Toast.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...