我有一个 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 我已经包含了权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
我正在尝试使用 DDMS 控制台中的模拟器测试应用程序。我设置了经度和纬度,然后按下发送按钮,但是没有调用 onLocationChanged 方法。
我做错了什么?
预先感谢