我正在使用Android 2.3.1项目来使用LocationManager.GPS_PROVIDER获取当前位置。Android:为什么native_start在Android 2.3.1模拟器的startNavigating()中失败?
这是我的代码
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LocationManager locManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
LocationListener locListener = new BTILocationListener();
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locListener);
}
public class BTILocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
Log.d("BTILocation", "Inside onLocationChanged() ---");
if (loc != null) {
double latitude = loc.getLatitude();
double longitude = loc.getLongitude();
String locationstr = "Latitude = " + latitude + " longitude = " +longitude;
Log.d("BTILocation", locationstr);
}
}
@Override
public void onProviderDisabled(String provider) {
Toast.makeText(getApplicationContext(), "GPS Disabled", Toast.LENGTH_SHORT).show();
Log.w("BTILocation", "GPS is Disabled");
}
@Override
public void onProviderEnabled(String provider) {
Toast.makeText(getApplicationContext(), "GPS Enabled", Toast.LENGTH_SHORT).show();
Log.w("BTILocation", "GPS is Enabled");
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
我使用的权限集 -
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
我用开放的telnet连接
telnet localhost 5544
geo fix 12 22
我看到下面的logcat的错误 -
E/GpsLocationProvider( 75): native_start failed in startNavigating()
2.3.1上的onLocationChanged(location loc)返回的位置对象始终为空。
相同的代码在Android 2.1和4.0中正常工作。请请帮我解决这个问题,我已经尝试谷歌搜索,但我无法找到任何地方的解决方案。谢谢!我没有与Android API级别7兼容的Google API,有谁知道我可以如何下载它?
这真的很奇怪。 – coredump 2013-05-14 01:13:58
更麻烦 - https://groups.google.com/forum/?fromgroups=#!topic/adt-dev/Z8NKJKyVmts – satyajit 2013-05-14 19:10:08