服务类在android 5.0.2中停止

时间:2016-03-21 06:55:16

标签: android android-service android-wake-lock android-broadcastreceiver

我在我的应用程序中使用了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"/>

提前致谢,请帮帮我。

0 个答案:

没有答案