Flutter的OnSharedPreferenceChangeListener

时间:2019-05-05 14:30:35

标签: flutter

在Android中,您可以执行以下操作来监听共享的偏好设置更改

SharedPreferences.OnSharedPreferenceChangeListener spChanged = new
                           SharedPreferences.OnSharedPreferenceChangeListener() {
            @Override
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
            String key) {
        // your stuff here
    }
};

是否可以使用颤动执行此操作?我已经阅读了官方的shared_preference,似乎尚未实现此功能。

是否有其他库或方法可以实现上述目标而无需深入研究本机代码。谢谢。

1 个答案:

答案 0 :(得分:2)

要解决此问题,请将以下代码添加到您的main()中:

void funTimerMain() async  {
  // here check any changes to SharedPreferences, sqflite, Global Variables  etc...
  if (bolAnythingChanged) {
    // do something

    // 'refresh' any page you want (below line using Redux as example)
    GlobalVariables.storeHome.dispatch(Actions.Increment);
  }

 // recall this timer every x milliseconds
 new Future.delayed(new Duration(milliseconds: 1000), () async { 
  funTimerMain(); 
  }); 

}

// call the timer for the first time
funTimerMain();