Android GPS LocationListener没有响应Galaxy Note 2
问题描述:
我开发了一个基于GPS的android应用程序。 尽管该应用程序对所有其他设备都能正常工作,但位置监听器在Galaxy Note 2设备中失败。Android GPS LocationListener没有响应Galaxy Note 2
启用GPS:
if (locationManager == null) {
locationManager = (LocationManager) this
.getSystemService(Context.LOCATION_SERVICE);
}
if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
&& !locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
_objSLM.isGPSEnable = false;
}
startService(new Intent(this, SLGPSService.class));
附加监听器:
if (locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 100, locationListener);
}
if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 0, 100, locationListener);
}
if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)
&& !locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
try {
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 100,
locationListener);
} catch (Exception e) {
}
try {
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 0, 100, locationListener);
} catch (Exception e) {
}
}
位置监听器:
LocationListener locationListener = new LocationListener() {
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.v(TAG, "**********=======Status=" + status);
}
public void onProviderEnabled(String provider) {
// _objSLM.isGPSEnable = true;
if (locationManager.isProviderEnabled(provider)) {
if (locationManager.getLastKnownLocation(provider) != null) {
_objSLM.curLocation = locationManager
.getLastKnownLocation(provider);
_objSLM.isGPSEnable = true;
if (_objSLM.prevLocation == null) {
_objSLM.prevLocation = _objSLM.curLocation;
}
}
}
if (locationManager.isProviderEnabled(provider)) {
if (locationManager.getLastKnownLocation(provider) != null) {
_objSLM.curLocation = locationManager.getLastKnownLocation(provider);
_objSLM.isGPSEnable = true;
if (_objSLM.prevLocation == null) {
_objSLM.prevLocation = _objSLM.curLocation;
}
}
}
}
public void onProviderDisabled(String provider) {
_objSLM.isGPSEnable = false;
}
public void onLocationChanged(Location location) {
Log.v(TAG, location.getLatitude() + "==" + location.getLongitude()+=================onLocationChanged()");
if(location.getProvider().equals(LocationManager.GPS_PROVIDER)){
_objSLM.curLocation = location;
_objSLM.isGPSEnable = true;
}
if (_objSLM.prevLocation == null) {
_objSLM.prevLocation = _objSLM.curLocation;
}
}
};
权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
答
可能这不是你的问题,这是设备特定的问题。
你必须检查安卓版本并更新你的manifest.xml文件。
这是设备问题。无法获取GPS卫星数据。 – 2013-03-12 07:06:03