我在我的应用程序中使用了Service类。它在其他版本中运行良好,但是当我在5.0.2中测试它时,它在应用程序处于运行状态时工作正常。但是当我关闭我的应用程序时,服务停止了。我需要服务在后台持续运行。
这是我的服务类:
public class ServiceClass extends Service{
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
UpdateLocation();
return Service.START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
private void UpdateLocation() {
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
Thread thread = new Thread() {
@Override
public void run() {
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
if (mGoogleApiClient != null) {
mGoogleApiClient.connect();
}
if (mLastLocation != null) {
Log.e("lat", String.valueOf(latitude));
latitude = mLastLocation.getLatitude();
longitude = mLastLocation.getLongitude();
}
GetLocationUpdate();
}
};
thread.start();
}
}, 0, UPDATE_TASK);
}
}
这是我的WakefulBroadcastReceiver
public class BootCompleteReceiver extends WakefulBroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent service = new Intent(context, ServiceClass.class);
context.startService(service);
}
}
我的清单文件
<service android:name=".service.ServiceClass" />
<receiver android:name=".service.BootCompleteReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
提前致谢,请帮帮我。