我有一个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方法。
我做错了什么?
提前感谢
答案 0 :(得分:0)
将parms置于通话中:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 10f, locationListener);
答案 1 :(得分:0)
我发现了问题。
我正在使用Android 2.3.3进行测试。并且有一个错误。使用Google API进行测试(级别10)非常有效。