【发布时间】:2015-05-22 08:11:52
【问题描述】:
我的 android 应用程序中有两个活动。我在两个活动的视频视图中播放视频。当我移动到第二个活动时,它开始在 videoview 上播放视频。但是当我返回之前的活动并尝试与 UI 交互时,我得到:
java.lang.IllegalArgumentException:接收方未注册: android.media.MediaPlayer$1@4123c640
我也得到了:
Activity com.exe.sample.Test1 泄露了最初在这里注册的 IntentReceiver android.media.MediaPlayer$1@4123c640。您是否错过了对 unregisterReceiver() 的调用?
在第二个活动中。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);
super.onCreate(savedInstanceState);
Button b=(Button)findViewById(R.id.button1);
VideoView videoview = (VideoView) findViewById(R.id.videoView1);
videoview.setVideoURI(Uri.parse(url));
videoview.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(new Intent(MainActivity.this, Test1.class));
}
});
}
第二个活动代码:
public class Test1 extends Activity { private VideoView videoview;
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.tset);
videoview = (VideoView) findViewById(R.id.videoView2);
videoview
.setVideoURI(Uri
.parse(url));
videoview.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
super.onCreate(savedInstanceState);
}
【问题讨论】:
标签: android android-mediaplayer android-videoview