Я занимаюсь разработкой приложения для Android с использованием фонового сервиса с функцией определения местоположения на основе класса LocationManager.Мой код успешно выполняется на большинстве телефонов, но на телефонах Nokia и, в частности, на Nokia Android 9.0, фоновая служба работает нормально, но примерно через 20 минут LocationListener останавливается без предоставления какого-либо положения GPS, хотя фоновая служба продолжает работать.Кажется, что метод onLocationChanged () неожиданно останавливается без исключения.
Я видел, что есть аналогичные проблемы с другими функциями Nokia, но я не нашел никакого решения.
LocationManager locationManager = (LocationManager)
this._activity.getSystemService(Context.LOCATION_SERVICE);
// Define a listener that responds to location updates
locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
JSONObject coords = new JSONObject();
try {
json.put("latitude",location.getLatitude());
json.put("longitude",location.getLongitude());
json.put("altitude",location.getAltitude());
json.put("bearing",location.getBearing());
json.put("speed",location.getSpeed());
json.put("provider",location.getProvider());
coords.put("coords",json);
Log.d(TAG,"onLocationChanged "+coords.toString());
} catch (JSONException e) {
Log.e(TAG,"onLocationChanged JSONException "+e.getMessage());
}
}
public void onStatusChanged(String provider, int status, Bundle extras){
Log.d(TAG,"onLocationChanged status changed : "+provider+ " status="+status);
}
public void onProviderEnabled(String provider) {
Log.d(TAG,"onLocationChanged provider enabled "+provider);
}
public void onProviderDisabled(String provider) {
Log.d(TAG,"onLocationChanged provider disabled "+provider);
}
};
Буду признателен за любыепомочь, чтобы решить эту проблему или найти обходной путь.Спасибо.