Как добиться приостановки просмотра видео и возобновить функциональность в Android? - PullRequest
0 голосов
/ 10 сентября 2018

Я хочу создать просмотр видео с функцией паузы и возобновления. Поэтому, чтобы сэкономить текущее время, я использовал общие настройки в качестве временного хранилища. Но во время отладки он отлично работает в onPause (), onStop (), onResume (), onStart (). Но при установке в устройстве видео начинается с начала каждый раз. Как решить эту проблему?

@Override
protected void onResume() {
    super.onResume();
    resumeVideo();
}
@Override
protected void onPause() {
    super.onPause();
    saveCurrentTime();
}
@Override
protected void onStop() {
    super.onStop();
    saveCurrentTime();
}
@Override
protected void onRestart() {
    super.onRestart();
    resumeVideo();
}


//......to save current duration in shared preference
public void saveCurrentTime(){
    String current_time = String.valueOf(vdoView.getCurrentPosition());
    sharedPreference.putValue(this,Constants.SP_NAME,Constants.CURRENT_TIME,current_time);
}

//to resume video from given time
public void resumeVideo(){
    String time = sharedPreference.getValue(this, Constants.SP_NAME, Constants.CURRENT_TIME);
   if(!sharedPreference.getValue(this,Constants.SP_NAME,Constants.CURRENT_TIME).equals("")) {
        int t = Integer.parseInt(time);
        vdoView.seekTo(t);
    }

    vdoView.start();
}

1 Ответ

0 голосов
/ 10 сентября 2018

Очевидно, что ваши дополнительные обработчики перезаписывают предпочтение на 0 в неожиданное время, потому что vdoView изменило состояние.

Удалите обработчики onStop() и onRestart()onDestroy()). Все, что вам нужно, это onPause() и onResume(). Подробнее см. в документации .

...