Android errorListener中的启动意图

Android errorListener中的启动意图,android,android-intent,Android,Android Intent,我想在一个监听器中启动一个意图。默认情况下,如果视频无法启动,MediaPlayer将停止,显示弹出窗口“无法播放视频”,并返回到主要活动。理想情况下,我想做的是在MediaPlayer.ErrorListener中,显示我自己的弹出窗口,放置一个积极按钮,当点击积极按钮时,我自己启动一个新的意图,它将我带回主要活动 原因是处理连接错误或否会更容易。事实上,我尝试连接RTSP流,如果我能检测到用户无法到达ipcam的原因,我就不需要使用RTSP客户端来处理连接状态等 无论如何,这似乎是不可能的,

我想在一个监听器中启动一个意图。默认情况下,如果视频无法启动,MediaPlayer将停止,显示弹出窗口“无法播放视频”,并返回到主要活动。理想情况下,我想做的是在MediaPlayer.ErrorListener中,显示我自己的弹出窗口,放置一个积极按钮,当点击积极按钮时,我自己启动一个新的意图,它将我带回主要活动

原因是处理连接错误或否会更容易。事实上,我尝试连接RTSP流,如果我能检测到用户无法到达ipcam的原因,我就不需要使用RTSP客户端来处理连接状态等

无论如何,这似乎是不可能的,因为您无法在返回某些内容的方法中启动另一个意图。方法onError需要一个布尔返回,所以我甚至不能正确地启动一个新的intent()

将代码更改为:

@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);
        }
    }

哈哈,这是个好把戏。我刚试过,但没用。无论如何,我不确定这是这个代码的错误,似乎我在进入这里之前有一个错误。我将编辑我的帖子来设置错误,显然当mediaplayer崩溃时,它不再进入errorListener。在videoView.setOneRorListener(new OneRorListener()行)上正好有一个nullPointerException事实上,此错误与MediaPlayer有关。我使用自定义url单独启动该活动,但由于找不到该活动,应用程序将退出。我认为当我使用其他活动启动该活动时,它会关闭MediaPlayer活动以返回第一个活动。因此,我得到链接中给出的错误。没有任何东西可以阻止您在这种情况下调用
startActivity()
。你的问题一定在其他地方。这很奇怪。无论如何,我正在做另一个项目。这个项目需要代码改进
@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);
        }
    }