首页 > 解决方案 > 当网络连接不足或没有网络连接时颤动应用程序崩溃

问题描述

我有这个 IconButton,当我按下它时,它会更新我的云 Firestore DB 上的一个字段。如果有一个健康的互联网连接,我不会遇到任何问题,但是没有网络或低信号我得到一个超时错误,这个导致应用程序崩溃。我已经将该函数包装在 try{} catch{} 块中,但这仍然无济于事。

 onPressed: (){
                 try{
                  Firestore.instance.runTransaction((Transaction thistransaction)async{
                  DocumentSnapshot docSnapshot = await thistransaction
                  .get(snapshotDocuments[index].reference);
                  await thistransaction.update(docSnapshot.reference,
                   {'voteUpBool':!docSnapshot['voteUpBool']});

                  });
                }
                 catch(err){
                    print(err.toString());
                  }
                 },

标签: firebasedartfluttergoogle-cloud-firestore

解决方案


您必须检查互联网或 wifi 是否可用,只需添加连接:^0.3.1最新版本的依赖项并遵循以下代码。

import 'dart:io';
...
try {
   final result = await InternetAddress.lookup('google.com');
   if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
       print('connected');
   }
 } on SocketException catch (_) {
    print('not connected');
 }

推荐阅读