我是否需要唤醒锁才能通过网络发送数据?

时间:2017-07-29 15:50:00

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

我有位置服务。服务接收新位置的时间我将累积的所有过去位置发送到服务器。我真的不知道如何在Android下唤醒锁定工作,所以当我将数据发送到服务器时,我是否需要保持唤醒锁定(或任何其他想法?)(如果它在后台线程中发送它的话) ; s))

这是我的服务代码,如果它的问题。

public class mLocationService extends Service implements ALLocationServicesListener {


  @Override
  public int onStartCommand(Intent intent, int flags, int startId) {

    if ((intent != null) && (intent.hasExtra("Alarm"))) { synchLocations(); }
    else { 

      return Service.START_STICKY; 

    }
  }


  private class doSynchLocationsTask extends AsyncTask<JSONObject, Void, Boolean> {

    @Override
    protected Boolean doInBackground(JSONObject... params) {

      //send the data in http
      return true;

    }

    @Override
    protected void onPostExecute(Boolean result) {

    }

  }

  private void doSynchLocations(){

    new doSynchLocationsTask().execute(null);

  }

}

1 个答案:

答案 0 :(得分:3)

如果您正在使用WakefulBroadcastReceiver,请致电:

  boolean completeWakefulIntent (Intent intent)

您还可以使用android-job库进行作业调度。这样您就不必担心唤醒锁。