나는 3 분마다 웹 서비스를 호출하고 싶다는 점에서 하나의 응용 프로그램을하고 있으며, 장치가 시간 초과되지 않았을 때 모든 것이 잘 작동합니다. 그러나 시간이 갈수록 나는 타이머가 작동을 멈췄다 고 생각합니다.타이머 서비스가 안드로이드 작동하지 않습니다
이 문제를 해결할 수있는 대체 방법은 무엇입니까? 나는 3 분 간격 어쨌든 간격을 원하고 그것의 타이머를 사용할 필요가 없다, 나는 타이머의 대체로 무엇이든 사용할 수있다.
나는 3 분마다 웹 서비스를 호출하고 싶다는 점에서 하나의 응용 프로그램을하고 있으며, 장치가 시간 초과되지 않았을 때 모든 것이 잘 작동합니다. 그러나 시간이 갈수록 나는 타이머가 작동을 멈췄다 고 생각합니다.타이머 서비스가 안드로이드 작동하지 않습니다
이 문제를 해결할 수있는 대체 방법은 무엇입니까? 나는 3 분 간격 어쨌든 간격을 원하고 그것의 타이머를 사용할 필요가 없다, 나는 타이머의 대체로 무엇이든 사용할 수있다.
사용 RepeatAlarm : 서비스 클래스에서
private PendingIntent pendingIntent=null;
static Intent i;
public static AlarmManager manager ;
pendingIntent = PendingIntent.getService(con, 0,
intent, 0);
Calendar cal = Calendar.getInstance();
manager = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE);
manager.setRepeating(AlarmManager.RTC_WAKEUP,
cal.getTimeInMillis(), (3*60*1000),
pendingIntent);
3 분마다 웹 서비스를 호출하고 싶다는 점에서 하나의 응용 프로그램을 만들고 있습니다. 장치가 시간 초과되지 않았을 때 모든 것이 잘 작동합니다. 그러나 시간이 갈수록 나는 타이머가 작동을 멈췄다 고 생각합니다.
처음에는 아주 좋은 해결책이 아니 었습니다. 항상 시계 틱을 보면서 메모리 주위에 매달려있는 서비스를하지 마십시오.
는
_WAKEUP
스타일 알람 및 eitherWakefulBroadcastReceiver
또는 myWakefulIntentService
과 함께이 문제
Use AlarmManager
를 해결하는 다른 방법은 무엇입니까.
private static boolean isRunning = false;
private Timer timer = new Timer();
@Override
public void onCreate() {
super.onCreate();
Log.i("SyncService", "Service Started.");
int interval = 180000;// 3minutes
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
//your process
}
}, 0, (long) interval);
isRunning = true;
}
희망이 당신에게 솔루션을 제공 할 것입니다.
서비스'PendingIntent'에서'AlarmManager'' _WAKEUP' 알람을 사용하지 마십시오. '_WAKEUP'으로 인한 깨우기에 대한 유일한 보증은 * 방송 *'PendingIntent'를 사용하는 것입니다 -이 경우'AlarmManager'는'onReceive()'가 완료 될 때까지 깨어있게 할 것을 보장합니다. – CommonsWare