我正在使用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