小编emp*_*dev的帖子

使用 FlutterPlugin 时如何监听 startActivityForResult 调用?

我正在使用 Java 为 Android 开发 Flutter 插件。当我调用MethodChannel时,我需要调用另一个Android Intent。如果我使用本机活动,那就很简单,因为我可以在同一个类上调用startActivityForResult和实现该方法。onActivityResult

但是,当我开发 Flutter 插件时,我可以实现FlutterPluginMethodCallHandlerActivityAware接口,但如何启动一个新活动并监听异步结果?

Java代码:

public class GetnetPlugin implements FlutterPlugin, MethodCallHandler, ActivityAware {

  private MethodChannel channel;
  private Context context;
  private Activity activity;

  @Override
  public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBinding) {
    context = flutterPluginBinding.getApplicationContext();
    channel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), "com.example/method");
    channel.setMethodCallHandler(this);
  }

  @Override
  public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) {
    channel.setMethodCallHandler(null);
  }

  @Override
  public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) {
    switch (call.method){
      case "makePayment":
        makePayment();
        result.success(true); …
Run Code Online (Sandbox Code Playgroud)

android-intent flutter startactivityforresult flutter-method-channel

12
推荐指数
1
解决办法
4883
查看次数