【发布时间】:2020-04-24 15:30:19
【问题描述】:
在我的应用中,我在主要活动中收到动态链接。当用户打开一个链接并启动应用程序并完成正确的操作时,这非常有效,但动态链接在应用程序中检索后似乎仍然存在。
即使在用户按下链接并在应用程序中使用FirebaseDynamicLinks.getInstance().getDynamicLink(getIntent()) 检索该链接后,用户也可以关闭应用程序并在一段时间后重新打开它,getDynamicLink(getIntent()) 仍会返回意图内的链接和数据。
有没有办法在应用程序中检索一次链接及其数据后丢弃它?我只需要setIntent(null)吗?
这是我的MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.ButtonTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
handleDynamicLink();
}
private void handleDynamicLink() {
FirebaseDynamicLinks.getInstance()
.getDynamicLink(getIntent())
.addOnSuccessListener(this, pendingDynamicLinkData -> {
// Get deep link from result (may be null if no link is found)
Uri deepLink = null;
if (pendingDynamicLinkData != null) {
deepLink = pendingDynamicLinkData.getLink();
if(deepLink!=null){
String gameId = deepLink.getQueryParameter("id");
Intent intent = new Intent(this, MultiplayerActivity.class);
intent.putExtra("gameId",gameId);
startMultiplayerActivity(intent);
}
Log.d(TAG, "handleDynamicLink: bundle: "+deepLink.getQueryParameter("id"));
}
}).addOnFailureListener(this, e -> Log.w(TAG, "getDynamicLink:onFailure", e));
}
【问题讨论】:
标签: java android firebase firebase-dynamic-links