android - 在后台获取 FCM 时 MissingPluginException(在 channel plugins.flutter.io/shared_preferences 上找不到方法 getAll 的实现)

标签 android flutter dart plugins sharedpreferences

我正在开发一个 Flutter 应用程序,其中使用了 shared_preferences: ^2.0.13 包。

  • Flutter 版本:2.10.1(最新)

  • gradle版本:6.7

  • Android Gradle 插件版本:4.1.3

  • kotlin 版本:1.6.10

  • flutterEmbedding 2(在 android 菜单中)

MissingPluginException(在 channel plugins.flutter.io/shared_preferences上找不到方法getAll的实现)。

在后台接收 FCM 消息时。

main.dart

Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  await Firebase.initializeApp();

  print('Got a message onBackgroundMessageHandler_');
  print("Handling a background message: ${message.messageId}");

  print('Shared pref process starts');
  SharedPreferences sf = await SharedPreferences.getInstance();
  sf.setString("key", "Value");
  print('${sf.getKeys()}');
  print('Shared pref process ends');
}

void main() async{
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();

  FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);

  runApp(const MyApp());
}

MainActivity.kt

class MainActivity: FlutterActivity() {

}

最佳答案

请引用我的post

您需要注册share_preference才能进行后台访问

io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin.registerWith(registry.registrarFor("io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin"));

关于android - 在后台获取 FCM 时 MissingPluginException(在 channel plugins.flutter.io/shared_preferences 上找不到方法 getAll 的实现),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71124545/

相关文章:

java - Guava 函数 toByteArray() 返回 null?

android - 如何在 dotnet core 上实现服务器端 google 授权

android - VS 代码 : Failed to install the following Android SDK packages as some licences have not been accepted

android - flutter 运行错误,并且gradle失败,退出代码为1

dart - 在 Flutter 背景上制作阴影

java - 通用图像加载器 imageview 不会使用微调器自行更新

android - 更改 textView 中的文本

java - StreamHandler接口(interface)的onListen方法中的arguments param到底是什么

flutter - 无法在列中设置 GridView

android - 无法创建新的 flutter 项目