Android GPS onLocationChanged从未调用过

时间:2012-09-05 14:43:19

标签: android gps locationlistener

我有一个Android应用程序,我想获取该位置。

为此我遵循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方法。

我做错了什么?

提前感谢

2 个答案:

答案 0 :(得分:0)

将parms置于通话中:

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

答案 1 :(得分:0)

我发现了问题。

我正在使用Android 2.3.3进行测试。并且有一个错误。使用Google API进行测试(级别10)非常有效。