2016-04-01 13 views
2

Entschuldigung mit meinem armen Englisch :). In meiner APP gibt es eine VideoView um Video (m3u8) abzuspielen. In dieser VideoView Aktivität verwende ich Thread und ExecutorService(newCachedThreadPool), um URL und andere Informationen zu erhalten. , wenn ich zum letzten Aktivität zurückgehen wollen, ich tue dies so etwas wie:Wie kann ich Thread mit Aktivität beenden?

@Override 
public void onDestroy() { 
    super.onDestroy(); 
    if (videoView != null) { 
     videoView.stopPlayback(); 
     videoView = null; 
    } 
    if (executor != null) { 
     executor.shutdownNow(); 
     executor = null; 
    } 
} 
hier

Runnable ist

private Runnable changeSeekBar = new Runnable() { 
@Override 
public void run() { 
    // TODO Auto-generated method stub 
    try { 
     while (seekBarAutoFlag) { 
      if (null != videoPlay.this.videoView&& videoPlay.this.videoView.isPlaying()) { 
       video_seekBar.setProgress((int) videoView.getCurrentPosition()); 
      } 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
}; 

und excutor wie folgt aus:

executor.execute(changeSeekBar); 

hier info error enter image description here

+0

Thread Anruf zu stoppen diese 'new Thread (Runnable) .interrupt();' – Bharatesh

+0

Es ist nicht, wie allgemein Java zu verwenden, -threads. Sie haben Fehlerinformationen über Register. Das bedeutet, dass Sie Probleme mit Ihrer Hardware oder einer anderen Software oder einer gemeinsam genutzten Bibliothek haben. Es ist unmöglich zu sehen, weil es auf Chinesisch – iantonuk

+0

Dank ~, der Titel (给 给 MIUI) bedeutet, senden Sie eine Fehlermeldung an MIUI (ein Unternehmen), ich versuche dies, es ist Arbeit.Aber es gibt einen Fehler, also versuche ich es Verwenden Sie WearHandler.Thank viel! :) – buruoyanyang

Antwort

Verwandte Themen