
为什么firebase动态链接不能打开单独的应用程序?
下面是我用来创建动态链接的代码
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse(DEEP_LINK_URL))
.setDynamicLinkDomain(domain)
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder()
.setMinimumVersion(0)
.setFallbackUrl(marketUri)
.build())
.buildShortDynamicLink()
.addOnCompleteListener(activity, new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull Task<ShortDynamicLink> task) {
if (task.isSuccessful()) {
Uri shortLink = task.getResult().getShortLink();
Uri flowchartLink = task.getResult().getPreviewLink();
Log.d("DynamicLink", "shortLink: " + shortLink);
shareDeepLink(shortLink.toString());
Log.d("DynamicLink", "flowchartLink: " + flowchartLink);
} else {
// Error
// ...
}
}
});发布于 2017-10-31 21:53:03
WhatsApp正在打开动态链接,并且他们不会将其作为新任务(FLAG_ACTIVITY_NEW_TASK)打开。
Firebase动态链接目前通过调用应用程序使用的大多数标志,如果调用应用程序想要在同一任务堆栈中打开网页,那么FDL应用程序也应该这样做。
所以在这种情况下,没有办法解决这个问题,对不起!
发布于 2019-06-23 21:25:41
我知道这个问题已经有一段时间了,但仍然是:我刚刚尝试使用FLAG_ACTIVITY_NEW_TASK标志重新启动MainActivity,但它似乎工作得很好!
根据您的用例,您可能需要实现某种方法来将信息从动态链接传输到“新”应用程序实例。
fun checkForPendingLink(intent: Intent) {
FirebaseDynamicLinks.getInstance()
.getDynamicLink(intent)
.addOnSuccessListener(activity) { pendingDynamicLinkData ->
// Do something with the link's data
//Since the app was opened via the link, it is on the back stack of the application containing the link
//Restart the MainActivity as new task to decouple it
val restartIntent = Intent(activity, MainActivity::class.java)
restartIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
startActivity(restartIntent)
finish()
}https://stackoverflow.com/questions/46596294
复制相似问题