Flutter 将设备令牌保存到SharedReferences

Flutter 将设备令牌保存到SharedReferences,flutter,Flutter,我试图将设备令牌保存到SharedReferences,以便在其他小部件中使用它,但令牌值在其他小部件中总是为null。我不知道我做错了什么 @override void initState() { // TODO: implement initState super.initState(); _messaging.getToken().then((token) { _getAndSaveToken; }); } _get

我试图将设备令牌保存到SharedReferences,以便在其他小部件中使用它,但令牌值在其他小部件中总是为null。我不知道我做错了什么

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _messaging.getToken().then((token)  {
      _getAndSaveToken;

        });

  }

 _getAndSaveToken()  {
    _messaging.getToken().then((token) async{
      final prefs = await SharedPreferences.getInstance();
      await prefs.setString('token', token);
      print(token);
    });

  }

为了使用共享首选项,首先必须创建一个这样的实例

SharedPreferences prefs = await SharedPreferences.getInstance();
然后保存一个值

prefs.setString("token", token);
要在另一个小部件中访问此文件,您应该访问同一个实例并使用get

String token = prefs.getString("token");
在您的情况下,设置令牌应该是这样的

_getAndSaveToken() async {
    _messaging.getToken().then((token) {
      SharedPreferences prefs = await SharedPreferences.getInstance();
      prefs.setString("token", token);
      print(token);
    });    
  }
您可以访问此令牌,如下所示

_getSavedToken() async {
        SharedPreferences prefs = await SharedPreferences.getInstance();
        String token = prefs.getString("token");    // do something with this
      }

为了使用共享首选项,首先必须创建一个这样的实例

SharedPreferences prefs = await SharedPreferences.getInstance();
然后保存一个值

prefs.setString("token", token);
要在另一个小部件中访问此文件,您应该访问同一个实例并使用get

String token = prefs.getString("token");
在您的情况下,设置令牌应该是这样的

_getAndSaveToken() async {
    _messaging.getToken().then((token) {
      SharedPreferences prefs = await SharedPreferences.getInstance();
      prefs.setString("token", token);
      print(token);
    });    
  }
您可以访问此令牌,如下所示

_getSavedToken() async {
        SharedPreferences prefs = await SharedPreferences.getInstance();
        String token = prefs.getString("token");    // do something with this
      }