集成了极光推送的项目,从服务器推送过来消息会有广播接收器接收到,这时候从广播接收器跳转到一个activity,在activity中播放音频,但是每次新消息推送过来都没有任何声音 。
代码如下,在onresume中调用
private void playOrderSound(Context context){
player= MediaPlayer.create(context, R.raw.order);
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.start();
player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
player.reset();
player.release();
}
});
player.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
player.start();
return false;
}
});
}
而且很奇怪的是如果从一个activity跳转到播放音乐的activity(比如login,login成功服务器会推送一条消息),这时候跳转成功是能播放,播放的activity的启动模式根据需要设置为singletask了