Как добиться приостановки и возобновления функции просмотра видео в android?

Я хочу создать просмотр видео с функцией паузы и возобновления. Поэтому, чтобы сэкономить текущее время, я использовал общие настройки в качестве временного хранилища. Но во время отладки они отлично работают в 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();
}

Возможный дубликат Видеопросмотр Приостановка и возобновление

Ashvin solanki 10.09.2018 10:25

это примерно onPause () а как насчет onStop (), onDestroy ()

suraj shinde 10.09.2018 10:48

приложение отлично работает во время отладки, но при прямом запуске на устройстве или эмуляторе не возобновляется

suraj shinde 10.09.2018 10:49

ты пробовал мой ответ?

Ashvin solanki 10.09.2018 10:51

пробовал, но не сработало

suraj shinde 10.09.2018 10:58

использовать журналы и посмотреть, что вставлено в общие sharedPreferences при запуске на устройстве?

Ashvin solanki 10.09.2018 11:01

Я только что видел, когда я снова нажимаю onPause (), сохраняя правильное время, но onStop () и onDestroy () сохраняя 0,0

suraj shinde 10.09.2018 11:10
0
7
76
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

Другие вопросы по теме