Android 实现两个Activity跳转实例

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的视频提前结束。

(0)

相关推荐

  • 详解Android App卸载后跳转到指定的反馈页面的方法

    很多人也许会问:360被卸载之后会跳转到指定的反馈页面,是怎么弄的? 其实这个问题的核心就在于:应用被卸载了,如果能够做到后续的代码逻辑继续执行 我们再来仔细分析一下场景和流程 一个应用被用户卸载肯定是有理由的,而开发者却未必能得知这一重要的理由,毕竟用户很少会主动反馈建议,多半就是用得不爽就卸,如果能在被卸载后获取到用户的一些反馈,那对开发者进一步改进应用是非常有利的.目前据我所知,国内的Android应用中实现这一功能的只有360手机卫士.360平板卫士,那么如何实现这一功能的? 我们可以把

  • Android跳转到系统联系人及拨号或短信界面

    现在开发中的功能需要直接跳转到拨号.联系人.短信界面等等,查找了很多资料,自己整理了一下. 1.跳转到拨号界面,代码如下:  1)直接拨打 Intent intentPhone = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber)); startActivity(intentPhone); 2)跳转到拨号界面 Intent intent = newIntent(Intent.ACTION_DIAL,Uri.pa

  • Android跳转到通讯录获取用户名称和手机号码的实现思路

    效果图如下所示: 先给大家说下实现android 跳转到通讯录的实现思路: 1.点击跳转到通讯录界面 2.获取通讯录姓名和手机号码 3.回调显示姓名和手机号码 1首先是跳转到通讯录界面 Uri uri = Uri.parse("content://contacts/people"); Intent intent = new Intent(Intent.ACTION_PICK, uri); startActivityForResult(intent, 0); 通过设置通讯录url跳转,可

  • android打开应用所在的市场页面进行评分操作的方法

    本文实例讲述了android打开应用所在的市场页面进行评分操作的方法.分享给大家供大家参考.具体实现方法如下: String mAddress = "market://details?id=" + getPackageName(); Intent marketIntent = new Intent("android.intent.action.VIEW"); marketIntent .setData(Uri.parse(mAddress )); startActi

  • Android启动页面定时跳转的三种方法

    从我所做的项目来看,几乎都少不了开始页面,启动页面的作用能够打广告.发公告.做缓存处理.更新数据等等!Android实现开始页面的跳转,就是打开一个Android手机APP的欢迎界面后跳转到指定界面,下面就让我简单介绍下比较常用的开始页面的跳转方法吧. 一.在onCreate里设置个Timer,然后建立Intent指向你要调用的Activity.设置Timer 任意秒后执行startActivity即可!(Timer是一种定时器工具,用来在一个后台线程计划执行指定任务,它可以计划执行一个任务一次

  • android中选中菜单的显示跳转和隐式跳转的实例介绍

    查了好多资料,现发还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 简介 android供给了三种菜单类型,分别为options menu,context menu,sub menu. options menu就是通过按home键来表现,context menu需要在view上按上2s后表现.这两种menu都有可以参加子菜单,子菜单不能种不能嵌套子菜单.options menu最多只能在幕屏最下面表现6个菜单项选,称为iconmenu,icon menu不

  • Android中应用界面主题Theme使用方法和页面定时跳转应用

    主题Theme就是用来设置界面UI风格,可以设置整个应用或者某个活动Activity的界面风格.在Android SDK中内置了下面的Theme,可以按标题栏Title Bar和状态栏Status Bar是否可见来分类:  复制代码 代码如下: android:theme="@android:style/Theme.Dialog" 将一个Activity显示为能话框模式 android:theme="@android:style/Theme.NoTitleBar"

  • Android 实现闪屏页和右上角的倒计时跳转实例代码

    以前编程的时候,遇到倒计时的功能时,经常自己去写,但其实Android已经帮封装好了一个倒计时类CountDownTimer,其实是将后台线程的创建和Handler队列封装成为了一个方便的类调用. 闪屏页用到了handler和CountDownTimer类,还需配置一下Activity的主题,这里是:android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 全屏主题的意思. 给大家展示下效果图: 代码如下所示: package

  • android 跳转进市场的实现代码

    跳转进市场的代码 复制代码 代码如下: Intent intent = new Intent(Intent.ACTION_VIEW);2 intent.setData(Uri.parse("market://details?id=" + getPackageName()));3 startActivity(intent); 跳转进市场搜索的代码 复制代码 代码如下: Intent intent = new Intent(Intent.ACTION_VIEW);2 intent.setD

  • Android应用自动跳转到应用市场详情页面的方法

    前言 众所周知在Android应用开发过程中,可能会有需求,比如:推广时跳转到应用市场下载应用,跳转到应用市场给自己的应用打分,跳转到应用市场更新自己的应用. 那如何跳转到应用市场呢? 可能跳转的方法大家都是知道的,方法如下: public static void goToMarket(Context context, String packageName) { Uri uri = Uri.parse("market://details?id=" + packageName); Int

随机推荐