Flutter-geolocator: 在插件中调用某些函数时出现 MissingPluginException

创建于 2020-04-01  ·  3评论  ·  资料来源: Baseflow/flutter-geolocator

🐛 错误报告


在调用 getCurrentPosition 函数时出现 MissingPluginException 在此函数 placemarkFromCoordinates 上也出现错误。

[错误:flutter/lib/ui/ui_dart_state.cc (157)] 未处理的异常:
E/flutter (32250): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7)
E/扑(32250):
E/flutter (32250): #1 LocationPermissions.checkPermissionStatus (package:location_permissions/src/location_permissions.dart:38:30)
E/flutter (32250): #2 Geolocator._getLocationPermission (package:geolocator/geolocator.dart:201:10)
E/flutter (32250): #3 Geolocator.getCurrentPosition (package:geolocator/geolocator.dart:101:47)
E/flutter (32250): #4 _SearchPageState.callback (package:gramstands/pages/search_page.dart:181:18)
E/flutter (32250):#5 callbackDispatcher。(包:地理围栏/callback_dispatcher.dart:25:13)
E/flutter (32250): #6 MethodChannel._handleAsMethodCall (package:flutter/src/services/platform_channel.dart:402:55)
E/flutter (32250):#7 MethodChannel.setMethodCallHandler。(包:flutter/src/services/platform_channel.dart:370:54)
E/flutter (32250): #8 _DefaultBinaryMessenger.handlePlatformMessage (package:flutter/src/services/binding.dart:200:33)
E/颤振(32250):#9 _invoke3。(dart:ui/hooks.dart:303:15)
E/flutter (32250): #10 _rootRun (dart:async/zone.dart:1126:13)
E/flutter (32250): #11 _CustomZone.run (dart:async/zone.dart:1023:19)
E/flutter (32250): #12 _CustomZone.runGuarded (dart:async/zone.dart:925:7)
E/flutter (32250): #13 _invoke3 (dart:ui/hooks.dart:302:10)
E/flutter (32250): #14 _dispatchPlatformMessage (dart:ui/hooks.dart:162:5)

预期行为

为此自动检查权限和获取功能。

繁殖步骤

只是在任何静态回调方法中调用下面的函数。
static void callback(Location location, GeofenceEvent geoEvent) async {
地理定位器().getCurrentPosition().then((位置){
print("回调中的当前位置 => ${position.toJson()}");
});
}

配置

医生摘要(要查看所有详细信息,请运行 flutter doctor -v):
[√] Flutter (Channel stable, v1.12.13+hotfix.8, on Microsoft Windows [Version 10.0.18362.720], locale en-IN)

[√] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.0)
[√] Android Studio(3.6版)
[√] VS Code(1.43.2 版本)
[√] 已连接设备(1 个可用)

• 未发现问题!

**版本:5.3.0

平台:

  • [仍未检查] :iphone: iOS
  • [X]:机器人:安卓

所有3条评论

这个问题是由于在 flutter 的静态方法中编写函数而引起的。 在静态方法之外它的工作原理。 谢谢。

https://stackoverflow.com/a/51244003/7669884

🐛 错误报告

在调用 getCurrentPosition 函数时出现 MissingPluginException 在此函数 placemarkFromCoordinates 上也出现错误。

[错误:flutter/lib/ui/ui_dart_state.cc(157)] 未处理的异常:MissingPluginException(在频道 com.baseflow.flutter/location_permissions 上找不到方法 checkPermissionStatus 的实现)
E/flutter (32250): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7)
E/扑(32250):
E/flutter (32250): #1 LocationPermissions.checkPermissionStatus (package:location_permissions/src/location_permissions.dart:38:30)
E/flutter (32250): #2 Geolocator._getLocationPermission (package:geolocator/geolocator.dart:201:10)
E/flutter (32250): #3 Geolocator.getCurrentPosition (package:geolocator/geolocator.dart:101:47)
E/flutter (32250): #4 _SearchPageState.callback (package:gramstands/pages/search_page.dart:181:18)
E/flutter (32250):#5 callbackDispatcher。 (包:地理围栏/callback_dispatcher.dart:25:13)
E/flutter (32250): #6 MethodChannel._handleAsMethodCall (package:flutter/src/services/platform_channel.dart:402:55)
E/flutter (32250):#7 MethodChannel.setMethodCallHandler。 (包:flutter/src/services/platform_channel.dart:370:54)
E/flutter (32250): #8 _DefaultBinaryMessenger.handlePlatformMessage (package:flutter/src/services/binding.dart:200:33)
E/颤振(32250):#9 _invoke3。 (dart:ui/hooks.dart:303:15)
E/flutter (32250): #10 _rootRun (dart:async/zone.dart:1126:13)
E/flutter (32250): #11 _CustomZone.run (dart:async/zone.dart:1023:19)
E/flutter (32250): #12 _CustomZone.runGuarded (dart:async/zone.dart:925:7)
E/flutter (32250): #13 _invoke3 (dart:ui/hooks.dart:302:10)
E/flutter (32250): #14 _dispatchPlatformMessage (dart:ui/hooks.dart:162:5)

预期行为

为此自动检查权限和获取功能。

繁殖步骤

只是在任何静态回调方法中调用下面的函数。
static void callback(Location location, GeofenceEvent geoEvent) async {
地理定位器().getCurrentPosition().then((位置){
print("回调中的当前位置 => ${position.toJson()}");
});
}

配置

医生摘要(要查看所有详细信息,请运行 flutter doctor -v):
[√] Flutter (Channel stable, v1.12.13+hotfix.8, on Microsoft Windows [Version 10.0.18362.720], locale en-IN)

[√] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.0)
[√] Android Studio(3.6版)
[√] VS Code(1.43.2 版本)
[√] 已连接设备(1 个可用)

• 未发现问题!

**版本:5.3.0

平台:

  • [ 仍未检查 ] 📱 iOS
  • [x] 🤖 安卓

通过命令提示符运行您的应用程序..flutter run

此页面是否有帮助?
0 / 5 - 0 等级