2012-09-05 57 views
3

我有一個android應用程序,我想獲取位置。Android GPS onLocationChanged從來沒有叫

爲此我遵循android文檔,但它不起作用。 onLocationChanged方法永遠不會被調用。

public class GPSTestActivity extends Activity 
{ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); 

    if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) 
    { 
     Toast.makeText(this, "GPS available", 3000).show(); 
    } 
    else 
    { 
     Toast.makeText(this, "GPS not available", 3000).show(); 
    } 

    LocationListener locationListener = new LocationListener() 
    { 
     public void onLocationChanged(Location location) 
     { 
      System.out.println("RECEIVED LOCATION"); 
     } 

     public void onStatusChanged(String provider, int status, Bundle extras) 
     { 
     } 

     public void onProviderEnabled(String provider) 
     { 
     } 

     public void onProviderDisabled(String provider) 
     { 
     } 


    }; 

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); 
} 
} 

在AndroidManifest.mf我已經包括permision:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

我試圖測試與DDMS控制檯模擬器中的應用。我設置了經度和緯度,然後按下發送按鈕,但不調用onLocationChanged方法。

我在做什麼錯了?

預先感謝

+0

設置模擬位置的權限在AndroidManifest.xml文件的模擬位置 – Pratik

+0

謝謝,但我已經添加了模擬位置權限,但它不工作 – Eduardo

+0

嘗試'Override'你的方法'onLocationChanged','onStatusChanged',' onProviderEnabled'和'onProviderDisabled'。 – Deepak

回答

0

我發現這個問題。

我正在測試Android 2.3.3。並有一個錯誤。使用Google API進行測試(級別10)非常完美。

0

放PARMS的號召:

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 10f, locationListener); 
+0

謝謝,但我已經把參數,它不起作用 – Eduardo