0
這是我在我的活動中處理深層鏈接的方式。我們如何從意圖中刪除深層鏈接數據
我想知道,在完成處理之後,如何從意圖中刪除它?
@Override
public void onCreate(Bundle savedInstanceState) {
Utils.updateTheme(this);
super.onCreate(savedInstanceState);
Uri uri = this.getIntent().getData();
if (uri != null && uri.isHierarchical()) {
if (Constants.INVESTING_DEEP_LINK_PATH.equals(uri.getPath())) {
// Processing deep link...
// How can I remove deep link information from intent, after
// finished procesing deep link...
}
}
}
我想要防止再次執行此活動onCreate
時的相同數據。例如,在配置更改期間。
根據有機磷農藥,我們可以使用下面的方法,處理完畢後,除去從意圖深層鏈接信息。但是,它會產生另一個問題。
@Override
public void onCreate(Bundle savedInstanceState) {
Utils.updateTheme(this);
super.onCreate(savedInstanceState);
Uri uri = intent.getData();
if (uri != null && uri.isHierarchical()) {
if (Constants.INVESTING_DEEP_LINK_PATH.equals(uri.getPath())) {
// Processing deep link...
intent.setData(null);
setIntent(intent);
}
}
}
- 按下電子郵件中的深層鏈接。
- 我們能夠從意向中找到深層鏈接。
- 按主頁按鈕
- 按下電子郵件中的深層鏈接。
- 無法再從意向中找到深層鏈接。
你試過setIntent(newIntent)嗎? newIntent只是setData(null)的舊版本的「克隆」。 – vlatkozelka