完成然后开始相同的活动问题

时间:2017-07-01 22:13:51

标签: android android-intent android-activity lifecycle

this Udacity project中,有一个奇怪的错误。它会闪烁通知,然后在下一个问题通过时删除。

这是下一个问题的部分:

 // Wait some time so the user can see the correct answer, then go to the next question.

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        mExoPlayer.stop();
        Intent nextQuestionIntent = new Intent(QuizActivity.this, QuizActivity.class);
        nextQuestionIntent.putExtra(REMAINING_SONGS_KEY, mRemainingSampleIDs);
        finish();
        startActivity(nextQuestionIntent);

    }
}, CORRECT_ANSWER_DELAY_MILLIS);

您会看到,它会使用一些额外数据启动相同的活动(QuizActivity)。它还会在启动新活动之前调用finish()来完成此旧活动。

但是,当我调试生命周期时,它显示在调用新活动的onCreate之后调用onDestroy。这是通知闪烁并导致永久状态的原因,因为在onDestroy中,调用了releasePlayer()方法导致通知消失:

private void releasePlayer() {
        Log.i(TAG, "release player and notification cancelled");
        mNotificationManager.cancelAll();
        mExoPlayer.stop();
        mExoPlayer.release();
        mExoPlayer = null;
    }

那有多奇怪?

0 个答案:

没有答案