在errorListener中启动intent

时间:2013-12-18 09:18:47

标签: android android-intent

我想在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;
    }
});

1 个答案:

答案 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);
        }
    }