首页 > 解决方案 > MissingPluginException(MissingPluginException(在通道 dexterx.dev/trail 上找不到方法 getTimeZoneName 的实现))

问题描述

我正在使用颤振本地通知进行调度,当我使用 MethodChannel 实例时出现异常。

主要功能:

const MethodChannel platform = MethodChannel('dexterx.dev/apptrail');

    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
    
      await _configureLocalTimeZone();
      runApp(MyApp());
    }

_configureLocalTimeZone 函数是:

Future<void> _configureLocalTimeZone() async {
  tz.initializeTimeZones();
  final String timeZoneName = await platform.invokeMethod('getTimeZoneName');
  tz.setLocalLocation(tz.getLocation(timeZoneName));
}

例外是:

 Exception has occurred.
    MissingPluginException (MissingPluginException(No implementation found for method getTimeZoneName on channel dexterx.dev/trail))

标签: flutterdartpush-notification

解决方案


flutter_local_notifications具有本机实现部分的示例代码
您可以参考 https://github.com/MaikuB/flutter_local_notifications/blob/ac730a0298edd8335cde07a09a396c46cc8c9292/flutter_local_notifications/example/android/app/src/main/kotlin/com/dexterous/flutter_local_notifications_example/MainActivity.kt# L23

class MainActivity: FlutterActivity() {
    override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
        super.configureFlutterEngine(flutterEngine)
        MethodChannel(flutterEngine.dartExecutor.binaryMessenger, "dexterx.dev/flutter_local_notifications_example").setMethodCallHandler { call, result ->
            if ("drawableToUri" == call.method) {
                val resourceId = this@MainActivity.resources.getIdentifier(call.arguments as String, "drawable", this@MainActivity.packageName)
                result.success(resourceToUriString(this@MainActivity.applicationContext, resourceId))
            }
            if ("getAlarmUri" == call.method) {
                result.success(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM).toString())
            }
            if ("getTimeZoneName" == call.method) {
                result.success(TimeZone.getDefault().id)
            }
        }
    }

推荐阅读