带有位置管理器的诺基亚问题后台服务

时间:2019-03-26 16:41:38

标签: java android service background locationmanager

我正在使用具有基于LocationManager类的功能GPS位置的后台服务来开发android应用程序。我的代码已在大多数手机上成功运行,但对于诺基亚手机,尤其是诺基亚Android 9.0,后台服务正常运行,但是,尽管后台服务继续运行,但大约20分钟后,LocationListener停止了,但没有提供任何GPS位置。似乎onLocationChanged()方法突然停止而没有异常。

我看到诺基亚的其他功能也有类似的问题,但是我没有找到任何解决方案。

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);
    }
};

对于解决该问题或找到解决方法的任何帮助,我将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

在安装诺基亚补丁00WW_3_51F之后,问题已解决