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

StackOverflow https://stackoverflow.com/questions/2464342

Вопрос

Привет всем, я столкнулся с другой проблемой с VideoView.Затем воспроизводится видео, и я перевожу устройство в спящий режим, используя жесткую кнопку, onPause() называется.Но за этим последовало:

03-17 11:26:33.779: WARN/ActivityManager(884): Activity pause timeout for HistoryRecord{4359f620 com.package/com.package.VideoViewActivity}

И тогда у меня есть onStart()/onResume() еще раз, и начнется воспроизведение видео.Я попытался переместить код по кругу onStart()/onStop() - похоже, это не имеет значения.

пример кода :

public class VideoViewActivity extends Activity {


    private String path = "";
    private VideoView mVideoView;
    private static final String MEDIA_URL = "media_url";

    @Override
    public void onCreate(Bundle icicle) {

        super.onCreate(icicle);
        setContentView(R.layout.videoview);
        mVideoView = (VideoView)findViewById(R.id.surface_view);
        path = getIntent().getStringExtra(MEDIA_URL);
    }

    @Override
    public void onResume() {

        super.onResume();
        mVideoView.setVideoPath(path);
        mVideoView.setMediaController(new MediaController(this));
        mVideoView.requestFocus();
        mVideoView.start();
    }

    @Override
    public void onPause() {

        super.onPause();
        mVideoView.stopPlayback();

        mVideoView.setMediaController(null);
    }
}

Почему это происходит?И как мне остановить это?

Это не самый лучший опыт, чем перевести свое устройство в спящий режим, и оно начнет воспроизводить видео

Это было полезно?

Решение

Хорошо, похоже, что поведение связано с жизненным циклом activity и тем фактом, что для VideoViewActivity в манифесте задано значение landscape .Добавление

android:configChanges="keyboardHidden|orientation" 

для этого действия кажется, проблема устранена, а затем вы переводите устройство в спящий режим только onPause(), вызванный vs ранее - все методы жизненного цикла были выполнены.Я проведу дополнительное тестирование, чтобы убедиться, что это исправлено...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top