0
我有幾個不同的Activity,每個Activity都有一個MediaPlayer和一個OnCompletionListener以在當前文件停止播放後啓動其他活動。還有就是建於OnCompletion監聽器的延遲,我通過與postDelayed處理程序實現,它看起來像這樣:中斷從OnCompletionListener中的處理程序中延遲的後期
public void onCompletion(MediaPlayer mp) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
try {
Intent stopplay;
stopplay = new Intent(actualActivity, Class
.forName(nextView));
actualActivity.startActivity(stopplay);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, stopTime);
}
這樣做的問題是,當我把我的SettingsActivity,有時它只是切換到活動那會是下一個。所以我認爲它掛在postDelayd的等待...
我怎麼能解決這個問題?
我也爲此在這些活動的onStop,在onPause和的onDestroy:
if (mPlayer != null) {
mPlayer.stop();
mPlayer.release();
mPlayer = null;
}
這個問題是,現在使用的處理程序是在擴展OnCompletionListener的類中。 它看起來像這樣: http://pastebin.com/fGJeSs0y – Kazoooka
你必須有一個對該處理程序的引用。 – Devrim
您是否看到我的問題在哪裏?我無法將該處理程序傳遞給OnCompletionListener ... – Kazoooka