App后台自动运行的方法


https://blog.csdn.net/u013323045/article/details/83544876?utm_medium=distribute.pc_relevant.none-task-blog-title-3&spm=1001.2101.3001.4242

下面的代码时设置按下HOME键回到主页面然后回来后页面保持不变的代码

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_Home) {
        moveTaskToBack(false);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

但是在测试过程中发现:只这样写的话播放的视频文件在回到前台的时候会重新播放解决方法如下:

  @Override
    protected void onPause() {
        super.onPause();
        pos = videoview.getCurrentPosition()+600;
        Log.i("2222", "onResume: "+pos);
    }

1.提前声明好一个int型的变量pos,在onPause中调用VideoView对象的getCurrentPosition方法(返回值是int)来获取当前视频播放的位置(因为进入后台会调用onPause方法)。这里pos多加600的原因是为了解决可能存在回到app的时候音频对不准,可能是退出前几秒的位置的问题(应该是因为返回值是int所以导致得到的值不精确)
2.在onResume中调用seekTo方法来回到原先退出的位置
@Override
protected void onResume() {
super.onResume();
videoview.seekTo(pos);
}


文章作者: 灿若星河
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 灿若星河 !
评论
 上一篇
Handler实现定时器效果 Handler实现定时器效果
https://blog.csdn.net/sinat_30058101/article/details/51774916?utm_medium=distribute.pc_relevant.none-task-blog-BlogComme
2020-11-08 灿若星河
下一篇 
自定义Dialog 自定义Dialog
更详细的方法日后再更新,下面的代码主要出自DatePicker的那个自定义Dialog一.style部分的核心代码 <style name="date_picker_dialog" parent="android:style/Th
2020-10-30
  目录