如何访问 android 端的 flutter 共享首选项(使用 java)
How to access flutter Shared preferences on the android end (using java)
我在 dart 中有以下函数来设置特定的布尔首选项值。
_switchPersistentNotifications() {
setState(() {
isPersistentNotificationEnabled = !isPersistentNotificationEnabled;
});
widget.preferences.setBool(
"isPersistentNotificationEnabled", isPersistentNotificationEnabled);
}
此函数设置 isPersistentNotificationEnabled
首选项的值。
现在在本机 android 端,我应该使用这个共享偏好值。这是我到目前为止所做的。
SharedPreferences preferences =
PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
// check if the state change notification is to be shown
if (preferences.getBoolean("flutter.isStateChangeNotificationEnabled", false)) {
showConnectionStateChangeNotification();
}
并且 if 条件永远不会被评估为真。我还尝试使用下面的代码打印所有现有的偏好值。
Map<String, ?> allEntries = preferences.getAll();
for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
Log.d("map values", entry.getKey() + ": " + entry.getValue().toString());
}
它只显示 Android 创建的值(使用 java)。
非常感谢您在访问首选项值方面提供的任何帮助。
谢谢。
抱歉这个答案来晚了,刚从 flutter github 页面得到答案。
你可以做的是:
SharedPreferences prefs = getSharedPreferences("FlutterSharedPreferences", MODE_PRIVATE);
那么如果你想阅读,例如"myValue"键,你必须添加"flutter."前缀:
String value = prefs.getString("flutter."+key, null);
我在 dart 中有以下函数来设置特定的布尔首选项值。
_switchPersistentNotifications() {
setState(() {
isPersistentNotificationEnabled = !isPersistentNotificationEnabled;
});
widget.preferences.setBool(
"isPersistentNotificationEnabled", isPersistentNotificationEnabled);
}
此函数设置 isPersistentNotificationEnabled
首选项的值。
现在在本机 android 端,我应该使用这个共享偏好值。这是我到目前为止所做的。
SharedPreferences preferences =
PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
// check if the state change notification is to be shown
if (preferences.getBoolean("flutter.isStateChangeNotificationEnabled", false)) {
showConnectionStateChangeNotification();
}
并且 if 条件永远不会被评估为真。我还尝试使用下面的代码打印所有现有的偏好值。
Map<String, ?> allEntries = preferences.getAll();
for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
Log.d("map values", entry.getKey() + ": " + entry.getValue().toString());
}
它只显示 Android 创建的值(使用 java)。
非常感谢您在访问首选项值方面提供的任何帮助。 谢谢。
抱歉这个答案来晚了,刚从 flutter github 页面得到答案。
你可以做的是:
SharedPreferences prefs = getSharedPreferences("FlutterSharedPreferences", MODE_PRIVATE);
那么如果你想阅读,例如"myValue"键,你必须添加"flutter."前缀:
String value = prefs.getString("flutter."+key, null);