当前位置: 首页 > 知识库问答 >
问题:

从myBackgroundMessageHandler清除共享首选项

韩淇
2023-03-14

当我发送FCM消息且应用程序处于后台时,我想清除共享首选项。在myBackgroundMessageHandler方法中,我正在调用一个方法来清除它们。

static Future<dynamic> myBackgroundMessageHandler(
      Map<String, dynamic> message) {
     clearPreferences();
}

static void clearPreferences() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    prefs.clear();
}

我得到以下错误:

未处理的异常:MissingPluginException(在channel plugins.flatter.io/shared_首选项上找不到方法getAll的实现)

共有3个答案

董飞航
2023-03-14

添加SharedReferences。将mockInitialValues({})设置为flift应用程序主函数中的runApp()函数之前的代码
这为我修复了错误

顾嘉良
2023-03-14

代码完全没问题。

只需重新启动模拟器。如果您没有通过关闭模拟器并再次打开它来进行完全重启,则可能会发生此错误,因为它没有新添加的插件。

田彬郁
2023-03-14

步骤1)转到应用程序。kt/应用程序。java(在我的例子中是kotlin)

步骤2)将这些行添加到Application类(在kotlin中)

if (!registry!!.hasPlugin("io.flutter.plugins.sharedpreferences")) {
  SharedPreferencesPlugin.registerWith(registry!!.registrarFor("io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin"));
}

还记得导入这个吗

import io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin

步骤3)运行颤振清洁-

 类似资料:
  • 对于下面的代码,我正在尝试检索共享的首选项,我认为它保存正确,但当我回到登录屏幕时,所有的数据都消失了。我需要它留在我回到这个屏幕上。所以我在个人资料页面上输入姓名、年龄和id到三个单独的行中。然后按下save按钮,然后按下action Bar上的back转到前面的页面。当我回到个人资料页面时,我的信息应该还在那里,但它没有任何帮助?

  • 非常感谢您的光临,我正在为学校开发一个应用程序,我遇到了另一个问题。该应用程序的主要思想是跟踪您的卡路里,我希望它能节省卡路里,所以当应用程序关闭时,它仍然会记住他们。我已经忙了一段时间了,现在尝试使用SavedPreferences,但我总是出现错误。我希望有人能帮我。 } 我可能做了很多明显的愚蠢的事情,但我真的弄不明白。 多谢!

  • 更新崩溃日志:

  • 我正在开发一个应用程序,我在共享偏好中保留布尔标志,以检查当前会话是否处于活动状态。基于此标志,用户将在显示闪屏后导航到主屏幕或登录屏幕。 这运行良好,但我们的一位客户报告说,即使在卸载和重新安装他的应用程序后,他的应用程序仍会让他的用户登录。 他跟随的步骤 安装应用程序 使用有效凭据登录 从设置中卸载应用程序 使用我提供的apk重新安装应用程序 打开应用程序 我认为当我们卸载应用程序时,其数据会

  • 问题内容: 我在这个.java文件中有一个SharedPreference;在底部,您可以看到我将值保存到SharedPreferences GB_PREFERENCES_BENCH和GB_PREFERENCES_FLIES。如何在其他活动中使用这些值?请参阅第二个代码示例以了解如何使用它。 这是我要使用的方式;(特别是在on create方法中,将TextView的文本设置为SharePrefe

  • 我试图在用户更新应用程序时注销他们。对于设置allowBackup=false,它会在应用程序更新时清除共享首选项吗? 提前谢谢你。