我想做这样的事情:
当我的应用程序启动时,我想启动一个应检查我的位置的服务
当应用程序进入后台时,我想停止服务
我有两个主要问题:
如何检测到我的应用程序转到后台?我有几个活动,我在我的MainActivity中尝试覆盖onPause,但是当我开始其他活动时也会调用onPause.
这个问题更重要:我的服务如何检查我的位置是什么样的?我尝试了几种方法,但没有成功.
我的服务看起来像这样,但它不起作用.我应该改变什么来使它工作?
package com.pivoscore.service;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.IBinder;
public class LocationService extends Service {
private LocationListener locationListener;
@Override
public IBinder onBind(final Intent intent) {
return null;
}
@Override
public int onStartCommand(final Intent intent, final int flags, final int startId) {
super.onStartCommand(intent, flags, startId);
return Service.START_STICKY;
}
@Override
public void onCreate() {
super.onCreate();
final LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
this.locationListener = new MyLocationListener();
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 100, 0, this.locationListener);
}
private static class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(final Location location) {
}
@Override
public void onProviderDisabled(final String provider) {
}
@Override
public void onProviderEnabled(final String provider) {
}
@Override
public void onStatusChanged(final String provider, final int status, final Bundle extras) {
}
}
}