Как сохранить данные Media Player при уничтожении приложения? - PullRequest
0 голосов
/ 30 июня 2019

Я сейчас работаю над приложением Music Player. Я хочу реализовать функцию для этого приложения, например, когда приложение будет уничтожено, музыка перестает воспроизводиться. Я хочу сохранить текущую позицию воспроизводимой музыки и ее данные .

И в следующий раз, когда пользователь возвращается в приложение, он должен видеть и иметь возможность возобновить песню из остановленной позиции. Эта часть не проблема, я могу сделать это

Но как хранить детали. OnDestroy метод всегда не будет вызываться. Поэтому я не могу написать код, чтобы сохранить эти детали там. И onStop здесь не нужен, потому что даже если onStop называется, мое приложение будет помещено в фоновый режим и будет воспроизводить песню в фоновом режиме.

Поскольку это связано с концепцией, я не публикую ни одного кода. Как добиться этой функции?

Заранее спасибо

1 Ответ

0 голосов
/ 30 июня 2019

Для вашего варианта использования я бы проигнорировал все жизненные циклы и сохранил бы их при изменении данных. Этот подход будет иметь любое последнее состояние, уже сохраненное до того, как ваше приложение будет уничтожено. Поэтому, когда вы переключаете свою песню / видео, вы сохраняете свое состояние. И каждую секунду, когда воспроизводится ваша песня / видео, вы сохраняете метку времени.

Чтобы сохранить свои значения, вы можете просто использовать общие настройки .

Как говорится:

Для действий onPause() будет наилучшим временем для хранения состояний, потому что действие может быть закрыто после этого по различным причинам. (в основном память, хотя). Для услуг onDestroy() - ваш лучший вариант.

...