위젯 업데이트 트랜잭션에 AlarmManager
을 사용하고 있습니다. 나는 Android : AlarmManager not long interval values
AlarmManager
를 호출하는 등 5, 10, 15 30 분 같은 다른 간격 값을했습니다 : 사용자가 5 또는 10 분을 선택하면
이
alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, MyService.class);
pi = PendingIntent.getService(context, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
// Interval value, default 600 (600*1000 -> 10 min)
Long repeat = Long.parseLong(prefs.getString("update_preference", "600"));
// Set the manager
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis(), 1000*repeat, pi);
그래서, 그것은 괜찮습니다. 그러나 그렇지 않다면, 사용자가 setRepetaing
처럼 빨리 작동하지 않는 MyService
과 같이 더 큰 값 (15, 30, 60 분)을 선택합니다.
무엇이 다른가요?
편집 : 즉시 작동합니다. <은 30 분이지만, 이제는 고유 한 요청 코드로 30 분 이상 작동합니다.
http://www.androiddiscuss.com/1-android-discuss/9703.html –
http://stackoverflow.com/questions/3168484/pendingintent-works-correctly-for-the-first-notification-but -increrectly-for-the –
시도한 고유 요청 코드 및 여전히 동일한 문제가 있습니다. 수정 된 질문. –