zoukankan      html  css  js  c++  java
  • flutter 插件调用callback函数

    dart plugin

    class TestLib {
      static MethodChannel _channel = const MethodChannel('test_lib')
        ..setMethodCallHandler(_methodCallHandler);
    
      static Function _cb;
    
      static Future<void> _methodCallHandler(MethodCall call) async {
        printf("[%s], args: %o", call.method, call.arguments);
        switch (call.method) {
          case 'callListener':
            if(_cb != null) _cb(call.arguments as String);
            break;
          default:
            print('not method.');
        }
      }
    
      static void platformVersion(Function cb) {
        _cb = cb;
        _channel.invokeMethod('getPlatformVersion');
      }
    }
    

    kt

      override fun onMethodCall(@NonNull call: MethodCall, @NonNull result: Result) {
        if (call.method == "getPlatformVersion") {
          // result.success("Android ${android.os.Build.VERSION.RELEASE}")
          channel.invokeMethod("callListener", "Ajanuw");
        } else {
          result.notImplemented()
        }
      }
    

    use

    TestLib.platformVersion((String name) {
      print('hello $name');
    })
    
  • 相关阅读:
    cs224n word2vec
    背包问题
    动态规划二
    动态规划
    递推求解
    Tmux 使用技巧
    LeetCode 75. Sort Colors
    LeetCode 18. 4Sum new
    LeetCode 148. Sort List
    LeetCode 147. Insertion Sort List
  • 原文地址:https://www.cnblogs.com/ajanuw/p/13843066.html
Copyright © 2011-2022 走看看