對不起,我的英語。 我試圖從GPS獲取一個位置放在全球變量的緯度,經度。 GPS開啓,但在從GPS獲取數據前,活動繼續進行。需要android活動才能等到獲得GPS位置
換句話說我的需要......方法getCurrentLocation()只有在找到一個位置並填充了經度和緯度變量時才必須完成,所以我可以在其他方法中使用它們。 我知道...用戶必須等待......我將解決這個問題,並在屏幕上顯示一些內容。 我該怎麼辦? 謝謝
我想我在某處跳過停止聽GPS。哪裏更好?
代碼如下:
//Method to retrieve coordinates
public void getCurrentLocation() {
//Use GPS if possible
if(manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
//assign Listener to GPS
manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);
Toast.makeText(this, LocationManager.GPS_PROVIDER, Toast.LENGTH_SHORT).show();
}
else if(manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){//toherwise, use NETWORK
//assign Listener to NETWORK
manager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, listener);
Toast.makeText(this, LocationManager.NETWORK_PROVIDER, Toast.LENGTH_SHORT).show();
}
}
//Class to store the location recived in two variables
final class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
//coordinates storing
latitude = String.valueOf(location.getLatitude());
longitude = String.valueOf(location.getLongitude());
Toast.makeText(getApplicationContext(), latitude + longitude, Toast.LENGTH_LONG).show();
}
@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
}
}