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 /フラッター(32250):#1 LocationPermissions.checkPermissionStatus(package:location_permissions / src / location_permissions.dart:38:30)
E /フラッター(32250):#2 Geolocator._getLocationPermission(package:geolocator / geolocator.dart:201:10)
E /フラッター(32250):#3 Geolocator.getCurrentPosition(package:geolocator / geolocator.dart:101:47)
E /フラッター(32250):#4 _SearchPageState.callback(package:gramstands / pages / search_page.dart:181:18)
E /フラッター(32250):#5callbackDispatcher。
E / flutter(32250):#6 MethodChannel._handleAsMethodCall(package:flutter / src / services / platform_channel.dart:402:55)
E /フラッター(32250):#7MethodChannel.setMethodCallHandler。
E / flutter(32250):#8 _DefaultBinaryMessenger.handlePlatformMessage(package:flutter / src / services / binding.dart:200:33)
E /フラッター(32250):#9_invoke3。
E /フラッター(32250):#10 _rootRun(dart:async / zone.dart:1126:13)
E /フラッター(32250):#11 _CustomZone.run(dart:async / zone.dart:1023:19)
E /フラッター(32250):#12 _CustomZone.runGuarded(dart:async / zone.dart:925:7)
E /フラッター(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 {
Geolocator()。getCurrentPosition()。then((position){
print( "コールバックの現在の位置=> $ {position.toJson()}");
});
}
ドクターサマリー(すべての詳細を表示するには、フラッタードクター-vを実行します):
[√]フラッター(チャネル安定版、v1.12.13 + hotfix.8、Microsoft Windows [バージョン10.0.18362.720]、ロケールen-IN)
[√] Androidツールチェーン-Androidデバイス用に開発(Android SDKバージョン29.0.0)
[√] Android Studio(バージョン3.6)
[√] VSコード(バージョン1.43.2)
[√]接続されたデバイス(1つ利用可能)
•問題は見つかりませんでした。
**バージョン:5.3.0
プラットホーム:
この問題は、フラッターの静的メソッドの書き込み関数が原因で発生します。 静的メソッドの外では機能します。 ありがとう。
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 /フラッター(32250):#1 LocationPermissions.checkPermissionStatus(package:location_permissions / src / location_permissions.dart:38:30)
E /フラッター(32250):#2 Geolocator._getLocationPermission(package:geolocator / geolocator.dart:201:10)
E /フラッター(32250):#3 Geolocator.getCurrentPosition(package:geolocator / geolocator.dart:101:47)
E /フラッター(32250):#4 _SearchPageState.callback(package:gramstands / pages / search_page.dart:181:18)
E /フラッター(32250):#5callbackDispatcher。 (package:geofence / callback_dispatcher.dart:25:13)
E / flutter(32250):#6 MethodChannel._handleAsMethodCall(package:flutter / src / services / platform_channel.dart:402:55)
E /フラッター(32250):#7MethodChannel.setMethodCallHandler。 (package: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 /フラッター(32250):#10 _rootRun(dart:async / zone.dart:1126:13)
E /フラッター(32250):#11 _CustomZone.run(dart:async / zone.dart:1023:19)
E /フラッター(32250):#12 _CustomZone.runGuarded(dart:async / zone.dart:925:7)
E /フラッター(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 {
Geolocator()。getCurrentPosition()。then((position){
print( "コールバックの現在の位置=> $ {position.toJson()}");
});
}構成
ドクターサマリー(すべての詳細を表示するには、フラッタードクター-vを実行します):
[√]フラッター(チャネル安定版、v1.12.13 + hotfix.8、Microsoft Windows [バージョン10.0.18362.720]、ロケールen-IN)[√] Androidツールチェーン-Androidデバイス用に開発(Android SDKバージョン29.0.0)
[√] Android Studio(バージョン3.6)
[√] VSコード(バージョン1.43.2)
[√]接続されたデバイス(1つ利用可能)•問題は見つかりませんでした。
**バージョン:5.3.0
プラットホーム:
- [まだチェックされていません]📱iOS
- [x]🤖Android
コマンドプロンプトからアプリケーションを実行します。.flutterrun