相关疑难解决方法(0)

如何在android端访问flutter共享首选项(使用java)

我在 dart 中有以下函数来设置特定的布尔首选项值。

_switchPersistentNotifications() {
  setState(() {
    isPersistentNotificationEnabled = !isPersistentNotificationEnabled;
  });
  widget.preferences.setBool(
      "isPersistentNotificationEnabled", isPersistentNotificationEnabled);
}
Run Code Online (Sandbox Code Playgroud)

此函数设置isPersistentNotificationEnabled偏好值。

现在在原生 android 端,我应该使用这个共享首选项值。这是我到目前为止所做的。

SharedPreferences preferences =
                    PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
                // check if the state change notification is to be shown
                if (preferences.getBoolean("flutter.isStateChangeNotificationEnabled", false)) {
                    showConnectionStateChangeNotification();
                }
Run Code Online (Sandbox Code Playgroud)

而且 if 条件永远不会被评估为真。我还尝试使用下面的代码打印所有现有的首选项值。

Map<String, ?> allEntries = preferences.getAll();
            for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
                Log.d("map values", entry.getKey() + ": " + entry.getValue().toString());
            }
Run Code Online (Sandbox Code Playgroud)

它只显示 Android 创建的值(使用 java)。

非常感谢访问首选项值的任何帮助。谢谢你。

android sharedpreferences flutter flutter-dependencies

11
推荐指数
1
解决办法
3415
查看次数