2010-03-17 5 views
1

Salut tout j'ai rencontré un autre problème avec VideoView. Puis la vidéo joue, et je mets l'appareil endormi, en utilisant le bouton dur, onPause() est appelé. Mais il suivi par:Problèmes avec l'activation LifeCycle avec la lecture de VideoView

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

Et puis j'ai onStart()/onResume() à nouveau et la vidéo commence à jouer. J'ai essayé de déplacer le code autour de onStart()/onStop() - ne semble pas faire la différence.

exemple de code:

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

Pourquoi cela se produit? Et comment puis-je arrêter cela?

Ce n'est pas une plus grande expérience que vous mettez votre appareil pour dormir et il commence la lecture vidéo

+0

Ummmm ... quelle est la question? – CommonsWare

+0

La question est a) Pourquoi ça se passe et b) Comment arrêter ça. Ce n'est pas une grande expérience que de mettre votre appareil en veille et il commence à jouer de la vidéo –

Répondre

1

OK, on ​​dirait que le comportement est lié au cycle de vie de l'activité et le fait que VideoViewActivity est défini sur le paysage dans le manifeste. Ajout

android:configChanges="keyboardHidden|orientation" 

pour cette activité semble résoudre le problème et vous mettre appareil juste pour dormir OnPause() appelé vs avant - toutes les méthodes du cycle de vie ont été exécutés. Je ferai plus de tests pour m'assurer qu'il est corrigé ...

Questions connexes