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