응용 프로그램을 죽였을 때 내 안드로이드 응용 프로그램이 작업 관리자를 실행하지 않습니다. 애플리케이션 프로세스가 종료되면 workmanager가 작동을 멈 춥니 다.
내 코드는 다음과 같습니다.
PeriodicWorkRequest workRequest =
new PeriodicWorkRequest.Builder(UploadWorker.class, 1, TimeUnit.MINUTES)
.setConstraints(constraints)
.build();
WorkManager.getInstance().enqueue(workRequest);
그리고 나도 신청 Jobscheduler
했지만 응용 프로그램이 아직 진행 중일 때 프로그램이 작동합니다. 그러나 응용 프로그램이 닫히면 workmanager가 작동하지 않습니다. 주기적으로 설정 한 시간은 1 min
입니다.
나는 많은 감사의 대답을 얻었다. 실제로 WorkManager는 Jobschduler와는 다릅니다. Oreo에 대한 상위 버전의 백그라운드 서비스에 대한 제한 이후 백그라운드 제한 서비스에 대해 3-4 개의 방법이 시작되었습니다. 예 : Firebase FCM JobSchduler WorkManger
하지만 서비스는 여기에서 다릅니다. 응용 프로그램을 닫거나 종료하려면 알람 관리자를 언급하고 시간을 설정해야합니다.
따라서 WorkManager를 언급 할 수있는 Maninactivity 1 개가 필요하고 Alarm Manager도 구현해야합니다. 알람 관리자의 코드는 다음과 같습니다.
// Alarm Manager
int i=30;
Intent intent = new Intent(this, MyBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
this.getApplicationContext(), 234324243, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
assert alarmManager != null;
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+ (i * 1000), pendingIntent);
이제 백그라운드에서 서비스를 실행할 수 있습니다. Remmeber 시간은 최소 30 초이며 2 초마다 실행할 수도 있지만 playstore에 애플리케이션이 있고 애플리케이션 대상 SDk가 oreo 이상인 경우 playstore는 설명서에 따라 정책에 따라 애플리케이션을 비활성화합니다. 더 많은 정보가 필요하시면 코멘트를 남겨주세요. 이제 JobSchduler, WorkManager에 대한 정보를 성공적으로 얻었습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다