为什么android服务类在用户启动后停止但是为null?

时间:2013-11-29 12:05:32

标签: android service gps location

我正在使用startservice和stopservice。

是开始按钮代码。

intent = new Intent(myActivity.this, myService.class);
startService(intent);

和停止按钮代码。

intent = new Intent(myActivity.this, myService.class);
stopService(intent);

startservice和stopservice它工作得很好。 但是,startservice - >停止服务后 - > startservice(所以它是restartservice), 当重启服务时,它已经具有第一个启动服务的价值。

它的服务代码

            public class myService extends Service {
            private LocationManager mLocationManager;
            private LocationListener mLocListener = new LocationListener() {

                @Override
                public synchronized void onLocationChanged(Location location) {
                    Log.d("GPS", ""+location.getLatitude+"/"+location.getLongitude);
                        }

        public void onCreate() {
    super.onCreate();
            }

    public int onStartCommand(Intent intent, int flags, int startId){
 mLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
            mLocationManager.requestLocationUpdates(Provider, INTERVAL_TIME, INTERVAL_DIST, mLocListener);

return Service.START_STICKY;

        }

        public void onDestroy() {
        mLocationManager.removeUpdates(mLocListener);
        super.onDestroy();
        }

为什么在restartservice之前给我的mLocListener值? (复制和粘贴时我的代码有些错误。但只有start->停止才能正常工作。)

1 个答案:

答案 0 :(得分:0)

对于GPS尝试使用mLocationManager.getLastKnownLocation