2010-03-17 41 views
1

大家好我遇到了VideoView的另一個問題。 然後視頻播放,我把設備睡着,使用硬按鈕,onPause()被稱爲。但是,其次是:帶有VideoView播放功能的LifeCycle的問題

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); 
    } 
} 

爲什麼會發生?我該如何阻止?

這不是比你把你的設備睡覺的最大的體會,並開始播放視頻

+0

嗯...這是什麼問題? – CommonsWare 2010-03-17 17:34:03

+0

問題是a)它爲什麼會發生,以及b)如何阻止它。這不是一個最棒的體驗,而是讓您的設備進入睡眠狀態並開始播放視頻 – 2010-03-17 17:42:01

回答

1

OK,貌似行爲與活動的生命週期和VideoViewActivity被設置爲橫向清單中的事實。添加

android:configChanges="keyboardHidden|orientation" 

該活動 似乎解決問題,然後你把設備只睡的onPause()稱爲VS前 - 被執行的所有生命週期方法。 我會做更多的測試,以確保它固定...