2016-09-28 7 views
0

firebase 보안 응용 프로그램에서 firebase 청취자를 유지하기 위해 Android AlarmManger을 사용합니다. 장치가 CPU 각 5 초를 경보가 웨이크 업 부팅 및 firebase 리스너를 시작 다른 준비가되어 있는지 확인할 때 자바/안드로이드 - AlarmManager 배터리 소비자?

AlarmManager

BroadcastReceiver를 통해 예정.

패턴을 사용하여 배터리 수명에 영향을주었습니다 최상의 패턴을 조언 해 주시겠습니까?

public class Alarm extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); 
     PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, ""); 
     wl.acquire(); 
     Firebase.setAndroidContext(context); 
     FirebaseUtils.startListeners(context); 

     wl.release(); 
    } 

    public void SetAlarm(Context context) 
    { 
     AlarmManager am =(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
     Intent i = new Intent(context, Alarm.class); 
     PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0); 
     am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 5000, pi); // Millisec * Second * Minute 
    } 
} 
+0

휴대 전화가 절전 모드 일 때도 알람 관리자가 깨우기 때문에 배터리를 소모합니다. –

+0

반복 간격을 늘리십시오. – Nishith

+0

당신의 재연에 대해 @Bansal에게 감사드립니다. viber, skyp work와 같은 어플리케이션이 어떤 아이디어인지 알고 싶습니다. – Tanite

답변

0

당신은 당신이 정말로 그것을 30 또는 50 초를 만드는 응용 프로그램 constantly.Try와 함께 연주 같은 동일 매 5 초마다 5 seconds.App 방송에서 반복 할 필요가없는 경우, 귀하의 반복 간격을 증가 시도 할 수 있습니다.

+0

반복 간격을 50 초로 늘린 후에 결과가 더 좋지만 받아 들여지지 않습니다. 다른 아이디어는 없습니까? 제발 조언 – Tanite