Android 颤振-多次处理动态碰撞
我正在使用handleDynamicLinks()方法在收到动态链接时启动一个新活动。但是,handleDynamicLinks()方法会被多次触发,即使动态链接只被单击一次 我怎样才能解决这个问题?先谢谢你Android 颤振-多次处理动态碰撞,android,ios,firebase,flutter,Android,Ios,Firebase,Flutter,我正在使用handleDynamicLinks()方法在收到动态链接时启动一个新活动。但是,handleDynamicLinks()方法会被多次触发,即使动态链接只被单击一次 我怎样才能解决这个问题?先谢谢你 class _HomePageState extends State<HomePage> with WidgetsBindingObserver { @override void initState() { super.initState(); Wid
class _HomePageState extends State<HomePage> with WidgetsBindingObserver {
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
this.initDynamicLinks();
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
if (state == AppLifecycleState.resumed) {
initDynamicLinks();
}
}
void initDynamicLinks() async {
FirebaseDynamicLinks.instance.onLink(
onSuccess: (PendingDynamicLinkData dynamicLink) async {
final Uri deepLink = dynamicLink?.link;
print(deepLink.toString());
if (deepLink != null) {
final queryParams = deepLink.queryParameters;
print(queryParams.toString());
if (deepLink.hasQuery) {
final ID = queryParams['ID'];
_handleDynamicLinks(ID);
}
}
},
onError: (OnLinkErrorException e) async {
print('onLinkError');
print(e.message);
}
);
final PendingDynamicLinkData data = await FirebaseDynamicLinks.instance
.getInitialLink();
final Uri deepLink = data?.link;
if (deepLink != null) {
final queryParams = deepLink.queryParameters;
print(queryParams.toString());
if (deepLink.hasQuery) {
final ID = queryParams['ID'];
_handleDynamicLinks(ID);
}
}
}
class\u HomePageState使用WidgetsBindingObserver扩展状态{
@凌驾
void initState(){
super.initState();
WidgetsBinding.instance.addObserver(这个);
this.initDynamicLinks();
}
@凌驾
void didchangeAppifecyclestate(AppLifecycleState状态){
if(state==AppLifecycleState.resume){
initdynamiclings();
}
}
void initdynamiclings()异步{
FireBaseDynamicLink.instance.onLink(
onSuccess:(PendingDynamicLink数据dynamicLink)异步{
最终Uri deepLink=dynamicLink?.link;
打印(deepLink.toString());
if(deepLink!=null){
最终查询参数=deepLink.queryParameters;
打印(queryParams.toString());
if(deepLink.haskquery){
最终ID=查询参数['ID'];
_可处理的动态链接(ID);
}
}
},
onError:(OnLinkErrorException e)异步{
打印('onLinkError');
打印(电子信息);
}
);
final PendingDynamicLinkData=等待FirebaseDynamicLinks.instance
.getInitialLink();
最终Uri deepLink=数据?.link;
if(deepLink!=null){
最终查询参数=deepLink.queryParameters;
打印(queryParams.toString());
if(deepLink.haskquery){
最终ID=查询参数['ID'];
_可处理的动态链接(ID);
}
}
}