Android 实现两个Activity跳转实例

 更新时间:2016年07月05日 15:51:44   投稿:lqh  
本文主要介绍Android 多个Activity相互之间的跳转,认识Activity生命周期,在做Android编程的时候用处很大,希望能帮助有需要的小伙伴

1.关于从Activity A跳转到Activity B

其中Activity A中有一个VideoView,Activity B中有一个MediaPlayer。

两个不同的视频的跳转,前面我是在onStop()方法中销毁VideoView(因为MediaPlayer是全局共用的,而VideoView内包含MediaPlayer),但是每次进入Activity B视频播放了一点

就会弹出了,导致视频B播放失败

public class MovieSynopsis extends BaseActivity implements OnClickListener{
 
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.movie_synopsis);
 

 }

 @Override
 public void onClick(View v) {
 if(v.equals(mPlayButton)){
 Intent intent = new Intent(MovieSynopsis.this, MoviePlayer.class); 
 startActivity(intent);
 } 
 }
 
 @Override
 protected void onStop() {
 if(movie_video!=null){
 movie_video.pause();
 movie_video.stopPlayback();
 } 
 super.onStop();
 }
 @Override
 protected void onDestroy() {
 super.onDestroy();
 }

}

后来修改了一些东西,把VideoView的销毁放在了startActivity(intent)之前,这样问题就解决了。

2.extends BaseActivity

public class MovieSynopsis extends BaseActivity implements OnClickListener{
 
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.movie_synopsis);
 

 }

 @Override
 public void onClick(View v) {
 if(v.equals(mPlayButton)){
 if(movie_video!=null){      
 movie_video.pause();
 movie_video.stopPlayback();
 }
 Intent intent = new Intent(MovieSynopsis.this, MoviePlayer.class); 
 startActivity(intent);
 } 
 }
 
 @Override
 protected void onStop() {
 if(movie_video!=null){
 movie_video.pause();
 movie_video.stopPlayback();
 } 
 super.onStop();
 }
 @Override
 protected void onDestroy() {
 super.onDestroy();
 }

}

发现原来失败的原因是,如果是在Activity A 的onStop()方法中销毁VideoView,则你在Activity B中播放了一段时间视频之后Activity A的onStop()方法才会去走,这样就导致了你在看Activity B中的视频的时候Activity A中会开始销毁VideoView中的MediaPlayer,导致你的Activity B的视频提前结束。

相关文章

  • 浅谈Flutter解析JSON三种方式

    浅谈Flutter解析JSON三种方式

    这篇文章主要介绍了浅谈Flutter解析JSON三种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Android Flutter表格组件Table的使用详解

    Android Flutter表格组件Table的使用详解

    Table组件不同于其它Flex布局,它是直接继承的RenderObjectWidget的。本篇文章主要介绍如何在页面中使用表格做一个记录,感兴趣的可以尝试一下
    2022-06-06
  • Android 简单好用的屏幕适配方案

    Android 简单好用的屏幕适配方案

    这篇文章主要介绍了Android 简单好用的屏幕适配方案,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下
    2021-04-04
  • 如何从外部浏览开启Android App

    如何从外部浏览开启Android App

    从浏览器中点击某个按钮,如果手机上装有相应的app,则直接开启app,并且到相对的页面。如果没有装该app,则会到相应的下载app的界面。这样的功能怎么实现呢,本文带着大家来看看如何实现。
    2021-06-06
  • Android框架学习之Volley和Glide详解

    Android框架学习之Volley和Glide详解

    这篇文章主要给大家介绍了关于Android框架学习之Volley和Glide的相关资料,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-05-05
  • Android中判断网络连接是否可用及监控网络状态

    Android中判断网络连接是否可用及监控网络状态

    获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android中判断网络连接是否可用及监控网络状态,感兴趣的朋友可以参考下
    2012-12-12
  • android Handler详细使用方法实例

    android Handler详细使用方法实例

    本文主要介绍Android中Handler的简单使用方法,Handler跟多线程,消息队列联系很紧密,在平常的实际程序开发中比较常见。本文分为4个简单的例子来学校handler
    2013-11-11
  • Android 7.0调用相机崩溃详解及解决办法

    Android 7.0调用相机崩溃详解及解决办法

    这篇文章主要介绍了 Android 7.0调用相机崩溃详解及解决办法的相关资料,需要的朋友可以参考下
    2016-12-12
  • TextView长按复制的实现方法(总结)

    TextView长按复制的实现方法(总结)

    下面小编就为大家带来一篇TextView长按复制的实现方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 简单实现android轮播图

    简单实现android轮播图

    这篇文章主要为大家详细介绍了android轮播图的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01

最新评论