2013-08-27 4 views
0

지금 내 앱에서 음악을 스트리밍해야합니다. 웹 서버를 사용하고 있으며 전화기가 깨어 있거나 전원에 연결되어 있으면 모든 것이 작동합니다.내 안드로이드 장치 깨우는 법

하지만 전화가 잠자기에 들어갈 때까지 스트리밍을 계속해야합니다. 나는 전화를 깨우기 위해 PowerManager PowerManager.WakeLock을 사용하고 있습니다. 나는 wl.acquire();와 자료를 가지고 그 후

pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); 
     wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG); 
     wl.setReferenceCounted(true); 

:

이 내 코드의 일부입니다. 나는 노래가 멈추는 5 분 후에 릴리스를하는 핸들러를 가지고있다.

int timeToWait = 300000; 
turnOffDevice.sendEmptyMessageDelayed(0, timeToWait); 

그러나 짧은 시간 동안 작동하면 노래가 뛰기 시작하고 대부분 노래가 중지됩니다.

+0

스트리밍이나 활동에 서비스를 사용하고 있습니까? –

+0

ForegroundService를 사용하여 스트리밍을 재생합니까? 이것은 서비스를 유지하고 안드로이드가 그것을 죽이는 것을 막을 수있는 유일한 방법입니다 :/ –

+0

안녕하세요, 저는 서비스를 사용하고 있습니다. – David

답변

0

안녕하세요 저는 이미 문제를 해결했습니다. 문제는 와이파이에서 잠시 후 wifilock을 추가했고 WIFI_MODE_FULL_HIGH_PERF을 (를) 사용하여 클래스의 생성자에서 기기 회전을 피했습니다. 와이파이

wifilock = manager.createWifiLock(3,TAG);// WIFI_MODE_FULL_HIGH_PERF 

떨어져 유일한 문제는이 플래그가 API (12) 이후에만 사용할 수 있지만 지금 내 프로젝트에 큰 문제가 없습니다. 이 링크에 자세한 정보가 필요하면 WIFI_MODE_FULL_HIGH_PERF