2
간단한 ScheduledExecutorService 구현을 사용하고 있으며 모든 것이 잘 작동합니다.하지만 Google 크롬 또는 게임과 같은 다른 응용 프로그램을 열면 응용 프로그램 스케줄러가 중지되고 Android 디버그 콘솔이 비어 있습니다. Btw onPause 및 onStops 메서드 beepForAnHour() 메서드를 시작합니다. 즉 응용 프로그램, 같은 프로세스 ID에다른 응용 프로그램을 열었을 때 ScheduledExecutorService가 멈춘 이유
import static java.util.concurrent.TimeUnit.*;
class BeeperControl {
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
public void beepForAnHour() {
final Runnable beeper = new Runnable() {
public void run() { System.out.println("beep");
};
final ScheduledFuture beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
scheduler.schedule(new Runnable() {
public void run() { beeperHandle.cancel(true); }
}, 60 * 60, SECONDS);
}
}}
그래서 ScheduledExecutorService없이 AlarmManager에서 예약 된 메소드 (실행하려는 코드의 평화를 의미)를 실행해야합니까? – user3385530