我正在爲通知托盤創建通知。我指定一個點擊的意圖是這樣的:無法移除意圖額外!
Intent intent = new Intent(context, MyActivity.class);
intent.putExtra("foo", true);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.setData(Uri.parse("" + System.currentTimeMillis()));
的MyActivity類被推出僅與「富」參數呈現良好。然而,我無法擺脫額外的事後 - 它似乎在Intent堅持:
// MyActivity
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
// please go away..
intent.removeExtra("foo");
getIntent().removeExtra("foo");
}
遍歷意圖的按鍵顯示,「富」不再存在。但是,如果我背景活動,然後再次將其帶到前臺,「foo」參數再次出現。
任何人都知道如何真正擺脫它?我也嘗試調用setIntent(),同樣的行爲。這就像發射器堅持原來的意圖並不斷重複使用它。
謝謝
這是Java和指針的愚蠢情況之一。您可能必須嘗試完成原始意圖後複製它沒有富。 – hwrdprkns
嗯,如何確定最初的意圖,我會做一些類似onNewIntent()的調用finish(),然後再重新啓動該活動?我想用戶不會看到這個鬼鬼祟祟的跳躍,我會擺脫那個「富」的額外。我認爲它可以工作! – user291701
'Intent.finalize()'? – hwrdprkns