【发布时间】:2011-08-08 14:48:49
【问题描述】:
我正在尝试实现一个 onCompletionListener 以便在启动视频完成时调用选项卡 Activity(包含所有内容)。问题是,视频播放后,没有调用下一个活动。代码如下:
package com.companyname.cpny;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.widget.VideoView;
public class splash extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
VideoView vs = (VideoView) findViewById(R.id.imlsplash);
Uri uri = Uri.parse("android.resource://"+getPackageName() + "/"+R.raw.iphonesplashfinal);
vs.setVideoURI(uri);
vs.start();
vs.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
Intent main = new Intent(splash.this, tabhost.class);
splash.this.startActivity(main);
splash.this.finish();
}
});
}
}
【问题讨论】:
-
你验证过 onCompletion 被调用了吗?您可能需要在调用 start() 之前设置 onCompletionListener。
-
如何验证?在 Public void 部分之前,错误日志中的所有内容看起来都被正确调用。我知道 vs.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 行上方的所有内容都可以正常工作,因为我已经在其上方实现了 onCompletionListener 并且视频无法播放。
-
在你的 onCompletionListener 中设置断点...
标签: java android android-activity android-intent android-videoview