小编Tom*_*m O的帖子

如何让 Flutter Workmanager 插件和 Location 插件一起工作

一、问题描述

我的目标是构建一个 Flutter 应用程序,该应用程序使用此工作管理器插件并使用此位置插件获取定期位置更新。但是当我的 Workmanager 回调触发时,我无法正确加载位置插件。我收到此错误:

MissingPluginException(No implementation found for method getLocation on channel lyokone/location)
Run Code Online (Sandbox Code Playgroud)

所以基本上,问题在于当 Workmanager 插件尝试运行 dart 代码时,它不会加载 Location 插件。

2.我研究过的其他资源

我发现其他人也面临同样的问题,这里这里这里

据我了解,为这些问题提供的解决方案归结为:创建一个名为CustomApplication.java的文件,它扩展FlutterApplication并注册您的插件。然后在 AndoidManifest.xml 文件中注册 CustomApplication.java 文件。

3. 到目前为止我的代码

我试图制作一个实现我需要的功能的最低限度的应用程序:

  1. 我实现了 Workmanager 插件(工作正常)
  2. 我实现了位置插件(工作正常)
  3. 我试图结合这些功能(不起作用)

要准确了解我在每个步骤中所做的工作,请查看此处:https : //gitlab.com/tomoerlemans/workmanager_with_location/-/commits/master。(此存储库还可用于快速复制问题)。

相关代码文件如下:

main.dart

import 'package:flutter/material.dart';
import 'package:workmanager/workmanager.dart';
import 'package:location/location.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  Workmanager.initialize(callbackDispatcher, isInDebugMode: true);
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget …
Run Code Online (Sandbox Code Playgroud)

android dart flutter flutter-dependencies android-workmanager

12
推荐指数
2
解决办法
8154
查看次数