我想在onErrorListener中启动一个intent。默认情况下,如果视频无法启动,MediaPlayer将停止,显示弹出窗口“视频无法播放”并返回主活动。我想要做的是,在理想情况下,在MediaPlayer.ErrorListener中,显示我自己的弹出窗口,放置一个positiveButton,当单击positiveButton时,我自己启动一个新的意图,让我回到主要活动。
原因是它更容易处理连接错误或没有。事实上,我尝试连接RTSP流,如果我能检测到用户无法访问ipcam的原因,我不需要使用RTSP客户端来处理连接状态等。
无论如何这似乎不可能,因为你无法在返回某些东西的方法中启动另一个意图。并且onError方法需要布尔返回,所以我甚至无法正确启动新的意图(and neither display a popup)
videoView.setOnErrorListener(new OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Intent intent = new Intent(PlayVideo.this, IPCamInformationsActivity.class);
intent.putExtra("error", "true");
startActivity(intent);
return true;
}
});
答案 0 :(得分:0)
将您的代码更改为:
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
try{
return true;
}
finally{
Intent intent = new Intent(PlayVideo.this, IPCamInformationsActivity.class);
intent.putExtra("error", "true");
startActivity(intent);
}
}