在我的Andoird应用程序中,我通过以下代码将额外内容传递给其他意图:
Intent i = new Intent(getApplicationContext(), NoteDetail.class);
i.putExtra("note_id", note_id);
startActivityForResult(i, 100);
在noteDetail中,通过以下代码获取额外内容:
if (i.hasExtra(Key_NOTE_ID)) {
// Must Update the note
KEY_HAS_NOTE_ID = true;
noteId = i.getStringExtra(Key_NOTE_ID);
Log.i("Note Id is >>", noteId.toString());
ConnectionDetector cd = new ConnectionDetector(
getApplicationContext());
if (cd.isConnectedToInternet()) {
new GetNoteDetail().execute();
} else {
Toast.makeText(NoteDetail.this,
R.string.not_connected_to_internet, Toast.LENGTH_SHORT)
.show();
}
}
应用程序正常工作并且附加功能正确传递和接收,直到按下手机上的后退按钮并返回上一个活动。再次当我按下noteDetail按钮并转到noteDetail活动时,之前的note_id仍然存在并且不清楚。 我想在用户按下手机上的按钮时清除额外内容。
答案 0 :(得分:2)
在onPause()
中使用:
if (getIntent().hasExtra(Key_NOTE_ID)) getIntent().removeExtra(Key_NOTE_ID);