【问题标题】:configure local_auth plugin in flutter在 Flutter 中配置 local_auth 插件
【发布时间】:2020-05-20 02:03:21
【问题描述】:

我的项目,使用 kotlin,当我想使用 Local_auth 插件时,出现以下错误:

PlatformException(no_fragment_activity, local_auth plugin requires activity to be a FragmentActivity., null)

local_auth 的例子说的是:

package io.flutter.plugins.localauthexample;

import io.flutter.embedding.android.FlutterFragmentActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugins.localauth.LocalAuthPlugin;

public class MainActivity extends FlutterFragmentActivity {
  // TODO(bparrishMines): Remove this once v2 of GeneratedPluginRegistrant rolls to stable. https://github.com/flutter/flutter/issues/42694
  @Override
  public void configureFlutterEngine(FlutterEngine flutterEngine) {
    flutterEngine.getPlugins().add(new LocalAuthPlugin());
  }
}

和

package io.flutter.plugins.localauthexample;

import android.os.Bundle;
import io.flutter.app.FlutterFragmentActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;

public class EmbeddingV1Activity extends FlutterFragmentActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);
  }
}

但问题是我不了解 kotlin,也不知道如何创建我的 kotlin 文件。

另外,我猜(我不确定),它可能是新版本中的一个颤振错误。

【问题讨论】:

标签: java kotlin flutter dart


【解决方案1】:

我通过将 FlutterActivity 更改为 FlutterFragmentActivity 来修复我的问题 在:

/android/app/src/main/kotlin/../MainActivity.kt

【讨论】:

  • 我收到构建错误“'configureFlutterEngine' 不会覆盖任何内容”失败:构建失败并出现异常。 * 出了什么问题:任务 ':app:compileDebugKotlin' 执行失败。 > 编译错误。有关更多详细信息,请参阅日志我无法找到 Gradle 日志文件位置。所以,不能贴在这里。
【解决方案2】:

打开MainActivity.kt,修改如下。

package com.[your.package]

import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterFragmentActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity: FlutterFragmentActivity() {
    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }
}

欲了解更多信息,请查看:

https://gist.github.com/akifarhan/f70a2c777651f2ea61a15eb92a5939c1

【讨论】:

    【解决方案3】:

    把MainActivity.kt文件的代码改成这个

    import androidx.annotation.NonNull;
    import io.flutter.embedding.android.FlutterFragmentActivity
    import io.flutter.embedding.android.FlutterActivity
    import io.flutter.embedding.engine.FlutterEngine
    import io.flutter.plugins.GeneratedPluginRegistrant
    
    class MainActivity: FlutterFragmentActivity() {
        override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
            GeneratedPluginRegistrant.registerWith(flutterEngine);
        }
    }
    

    【讨论】:

    • 我收到构建错误“'configureFlutterEngine' 不会覆盖任何内容”失败:构建失败并出现异常。 * 出了什么问题:任务 ':app:compileDebugKotlin' 执行失败。 > 编译错误。查看日志了解更多详情
    • 我无法找到 Gradle 日志文件位置。所以,不能贴在这里。
    • @Plasmatiger 你找到解决这个问题的办法了吗?
    • @KamranBashir 抱歉回复晚了。我能够解决它,但我现在不记得了。
    • Java 代码也发生了同样的事情,Java 有什么帮助吗?
    猜你喜欢
    • 2020-09-09
    • 1970-01-01
    • 2021-09-14
    • 2020-09-24
    • 2022-11-10
    • 1970-01-01
    • 2020-06-23
    • 2015-07-14
    • 1970-01-01
    相关资源
    最近更新 更多