0

AlarmManager with PendingIntent를 사용하여 1 분마다 서비스를 실행하려고합니다. setInexactRepeating 함수를 사용하면 지금까지 테스트 한 적이있는 삼성 디바이스을 제외한 모든 모바일에서 서비스를 실행할 수 있습니다.Android AlarmManager 문제 - Samsung Device

사례 1 : 안드로이드 5.1 - 코드 아래는 매 1 개 삼성의 장치를 실행하고 나중에 간격 5 분

케이스 2 회전 단계 : 안드로이드 6.0 - 코드는 삼성에서 매 5 분을 실행 아래 장치 및 나중에는이 같은

alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, 1, 1000 * 60, alarmIntent); 

삼성 전자는 안드로이드 5.1 남아 - 로그인

04-17 15:53:06.856 12381-13117/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 15:54:16.291 12381-13949/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 15:55:00.036 12381-14679/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 15:56:01.121 12381-15660/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 15:57:16.591 12381-16773/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 15:58:23.066 12381-17318/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 16:01:14.366 12381-19279/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 16:06:13.901 12381-25377/com.example.android.scheduler D/LL_LOG: loadFromNetwork 

삼성 안드로이드 6.0 로그인

04-17 15:27:18.621 12920-31956/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 15:32:18.681 12920-5003/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 15:37:18.651 12920-9665/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 15:42:18.641 12920-10642/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 15:47:18.831 12920-11739/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 15:52:18.741 15868-15882/com.example.android.scheduler D/LL_LOG: loadFromNetwork 
04-17 15:57:18.661 15868-17146/com.example.android.scheduler D/LL_LOG: loadFromNetwork 

주 : (AlarmManager not working on Samsung devices in Lollipop & Android exact Alarm is always 3 minutes off) 여기에 말했듯이 내가 APP의 돌았 다 내 문제가 동일하게 유지 Optimization.Still.

나는 배터리 드레인없이 같은 방법으로 서비스를 실행하기 위해이 대안을 해결할 것으로 예상된다.

+0

with Android 6, DozeMode가 통합되었습니다. https : //developer.android.com/training/monitoring-device-state/doze-standby.html – Opiatefuchs

답변

0

다양한 절전 메커니즘으로 인해 최신 장치에서이 높은 주파수의 반복 경보를 사용할 수 없습니다. 매분마다 기기를 깨우면 배터리 수명이 단축됩니다.

그러나 실제로 수행하려는 경우 매번 알람을 다시 예약해야합니다. 반복되는 알람을 예약하는 대신 1 분 이내에 울릴 단일 알람을 예약하십시오. 해당 알람이 울리면 처리를 수행 한 다음 1 분 후에 꺼질 단일 알람을 예약하십시오. 이 방법으로 정확한 타이밍을 얻을 수 있습니다.