JobIntentService не запускается должным образом на некоторых устройствах? - PullRequest
0 голосов
/ 26 октября 2018

Ранее я использовал IntentService для запуска фоновых служб с помощью AlaramManager. Теперь я изменил значение IntentService на JobIntentService для фонового процесса триггера для извлечения данных с сервера. В некоторых устройствах JobIntentService не запускается, запускается только после открытия приложения.

Набор AlaramManager

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 9);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);

PendingIntent pi;
AlarmManager am;

pi = PendingIntent.getBroadcast(getActivity(), requestCode, new Intent(getActivity(), PendingCampaignReceiver.class), PendingIntent.FLAG_UPDATE_CURRENT);

am = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
am.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pi);

BroadCastReceiver Class

public class PendingCampaignReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        PendingCampaign.enqueueWork(context, intent);
    }
}

<receiver
        android:name=".broadcast.receiver.PendingCampaignReceiver"
        android:enabled="true"
        android:process=":remote" />

Класс JobIntentService

public class PendingCampaign extends JobIntentService {

 public static void enqueueWork(Context context, Intent intent) {
    enqueueWork(context, PendingCampaign.class, PENDING_CAMPAIGN_JOB_ID, intent);
 }

  @Override
 protected void onHandleWork(@NonNull Intent intent) {

    //am doing my API calling here

 }
}

<service
        android:name=".services.PendingCampaign"
        android:permission="android.permission.BIND_JOB_SERVICE" />

Есть ли проблема в моем кодировании. Помогите мне решить проблему.

...