Flutters提供程序包在发布模式下不工作,但在调试模式下工作良好,我尝试添加<uses-permission android:name="android.permission.INTERNET"/>
,但当我们通知时,侦听器仍然没有得到值。
尽管您没有更具体地描述它,但您可以尝试使用以下解决方案。
请确保在androidappsrcmainAndroidManifest.xml
文件中添加了权限<uses-permission android:name="android.permission.INTERNET"/>
。这可能会解决你的问题。
我也遇到了同样的问题,我解决这个问题的方法是在终端上运行flutter clean
,然后再以发布模式运行,现在它的工作方式正是它应该的。
我忘了给出反馈。后来我解决了这个问题。当提供程序中的任何Getter、setter或方法中断时,都会导致此错误。如果仔细观察,您将在调试模式下看到一条警告。但它在调试过程中仍能正常工作。但它将在发布时完全停止工作。
我的失败是因为在setter方法内的streambuilder(BLOC(和notifyListeners((之间发生更改后,进行了双重重建。所以我所做的就是删除setter 中的notifyListeners((
在我的情况下,我错误地添加了notifyListeners();
,而不需要删除它就解决了问题。
int getItemQuantity(String? id) {
final index = cart.indexWhere((element) => element.productId == id);
// notifyListeners(); /// THIS LINE
if (index < 0) return 0;
return cart[index].quantity ?? 0;
}
检查控制台中是否收到(在构建期间调用的setState()
或markNeedsBuild()
(消息,您会发现代码的哪一行导致了异常。