2010-07-18 3 views
6

Android가 깊은 잠에서 깨어나서 ACTION_TIME_TICK을 방영합니까? 실험적으로, 생각하지는 않지만 확실한 답을 찾고 있습니다. 다음, 4 틱에서TIME_TICK이 (가) 깊은 수면 모드로 방송됩니까?

registerReceiver(new BroadcastReceiver() { 
    int ctr = 0; 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     testView.setText("Time ticks: " + ++ctr); 
    } 
}, new IntentFilter(Intent.ACTION_TIME_TICK)); 

, 나는 약 5 분 동안 화면이 꺼져 다시 전원을 설정하고, 6 틱을 읽어

내 실험 수신에 TextView를 업데이트하는 간단한 BroadcastReceiver 등록 관련 . 13 틱에서 10 분 동안 화면을 켠 다음 다시 켜고 틱 수는 14를 읽습니다. 전화기를 얼마나 오랫동안 둡니다 만 1-2 틱만큼 증가하는 것 같습니다. 깊은 수면 중 행동을 방송하지 않는다고 의심하십시오. 전화가 꺼져있을 때 당신이 로그에 기록, 볼 수없는 대신 TextView를 업데이트 :

+0

정확히 같은 문제가 의심됩니다. 어떤 해결책이나 해결 방법을 찾았습니까? – mschonaker

답변

9

Android 코드를 살펴 보았습니다. 이 방송은 전화를 깨우지 않습니다. AlarmManager.RTC 유형 Alarm을 사용하여 시간 변경을 방송합니다.

1 분마다 문자 그대로 통보해야하는 이유가 무엇입니까?

AlarmManager.RTC_WAKEUP 유형을 사용하여 자체 알람을 설정하는 것은 어떻습니까?

경고 : 1 분마다 수행하면 배터리가 소모됩니다. 나는 매시간처럼 덜 자주하는 것이 좋습니다.

도움이되는지 알려주세요.

엠마뉴엘

+0

정확한 사용법을 정확히 기억하지 못합니다 (이전에 작업을 포기했습니다). 그러나이 프로젝트는 시스템에서 제공하는 것보다 더 자세한 가동 시간 추적을 수행하는 것과 관련이 있습니다. 사실, 나는 전화가 잠들었을 때 알림을하지 않는 것을 선호한다고 생각했지만 API 문서가 그 시점에서 명확하지 않기 때문에이 것에 대한 확인을 원했습니다. –

+0

알람 관리자 사용이 올바르게 작동합니다. 감사. 나는이 행동의 원인을 알고 싶었다. 찾았습니다. – mschonaker

3

더 나은 실험 휴대 전화가 잠 들어있는 동안 당신은 로그 캣이에 눈을 유지할 수 있습니다

Log.v("Tick","Total ticks: " + ++ctr); 

.