android alarm manager sound after reboot -


i'm working on service-like application using android's alarmmanager. app connects server , calls remote procedure. if value returned true, plays sound:

mediaplayer mediaplayer = new mediaplayer(); mediaplayer.setaudiostreamtype(audiomanager.stream_ring);  try {     mediaplayer.setdatasource(getapplicationcontext(),       uri.parse("file:///system/media/audio/ringtones/rolling_tone.ogg")); } ... mediaplayer.start(); 

this works , when application started manually. when phone rebooted (i've implemented broadcastreceiver), sound played second gets interrupted immediately.

it sounds play cycle being cut off something. need stop , re-start application have working correctly again.

any clues on cause be?

you use mediaplayer's setscreenonwhileplaying() ensure application doesn't go sleep while audio plays in background.

http://developer.android.com/reference/android/media/mediaplayer.html#setwakemode%28android.content.context,%20int%29

another possible solution use powermanager keep device awake wakelock:

see http://developer.android.com/reference/android/os/powermanager.html

powermanager pm = (powermanager) getsystemservice(context.power_service); powermanager.wakelock wl = pm.newwakelock(powermanager.screen_dim_wake_lock, "my tag"); wl.acquire();    ... wait until sound has finished playing (with listener) wl.release(); 

Comments