这就是我如何处理我活动中深层次的联系。
我在想,在我完成处理之后,如何才能从意图中移除它?

@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时,我想阻止相同的数据。例如,在配置更改期间。
根据ops,我们可以使用以下方法,在完成处理后从意图中删除深层链接信息。然而,这将产生另一个问题。
@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);
        }
    }
}

按电子邮件中的深层链接。
我们能够从意图中找到深层的联系。
按“主页”按钮
按电子邮件中的深层链接。
无法从意图中找到深层联系。

最佳答案

正如@vlatkozelka提到的,你需要做的就是:

Intent clonedIntent = getIntent();
clonedIntent.setData(null);

你很擅长使用clonedIntent

10-08 17:18