You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android跨Activity传递VideoView视频并实现续播的技术咨询

嘿,这个需求其实挺常见的,核心就是把第一个Activity里视频的关键播放状态传递过去,在第二个Activity里精准恢复就行,我给你捋一遍具体实现步骤:

跨Activity视频续播实现方案

第一步:在第一个Activity中收集并传递播放状态

跳转去第二个Activity之前,我们需要拿到两个关键信息:视频的播放源(路径/Uri)和当前的播放位置:

  • 用videoView.getCurrentPosition()就能获取到当前视频播放到的毫秒数,这个是续播的核心。
  • 把这两个数据通过Intent传递给第二个Activity,代码示例如下:
// 第一个Activity里的跳转逻辑
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
// 传递视频路径(如果是Uri的话,转成字符串传递)
intent.putExtra("VIDEO_SOURCE", yourVideoPathOrUriString);
// 传递当前播放的位置
intent.putExtra("CURRENT_POSITION", videoView.getCurrentPosition());
startActivity(intent);
// 如果你不需要保留第一个Activity,这里可以调用finish(),看你的业务需求

第二步:在第二个Activity中恢复播放状态

打开第二个Activity后,我们从Intent里取出数据,然后给VideoView设置源并跳转到指定位置播放:

// 第二个Activity的onCreate方法里
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);

    VideoView secondVideoView = findViewById(R.id.second_video_view);
    // 取出传递过来的数据
    String videoSource = getIntent().getStringExtra("VIDEO_SOURCE");
    int playPosition = getIntent().getIntExtra("CURRENT_POSITION", 0); // 默认0,没拿到就从头播

    // 设置视频源,如果是Uri的话就用setVideoURI(Uri.parse(videoSource))
    secondVideoView.setVideoPath(videoSource);
    // 关键操作:跳转到之前的播放位置
    secondVideoView.seekTo(playPosition);
    // 开始播放
    secondVideoView.start();
}

额外优化建议

  • 权限处理:如果是本地视频,记得要申请对应的存储权限(Android 10及以上可以用MediaStore,权限逻辑略有不同),不然VideoView加载不了视频。
  • 状态持久化:如果担心跳转时因为Activity生命周期问题导致位置不准确,可以在第一个Activity的onPause方法里提前记录播放位置,比如存到全局变量或者SharedPreferences里,再传递给第二个Activity:
@Override
protected void onPause() {
    super.onPause();
    if (videoView.isPlaying()) {
        // 提前保存当前位置
        currentPlayPosition = videoView.getCurrentPosition();
    }
}
  • 在线视频兼容:如果是在线流媒体,要确保视频流支持断点续播,大部分主流的视频服务都支持这个特性,不用额外处理。

这样操作下来,第二个Activity的VideoView就能无缝接着第一个Activity的进度播放,不会重新启动视频啦~

内容的提问来源于stack exchange,提问作者amit kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:46:47