My project , uses kotlin and when I want to use Local_auth plugin , I get the error below:
PlatformException(no_fragment_activity, local_auth plugin requires activity to be a FragmentActivity., null)
what the example of local_auth says , is:
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());
}
}
and
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);
}
}
but the problem is that I don't know kotlin and I don't know how to create my kotlin file.
also , I guess (I am not sure) that , it can be a bug of flutter in its new release.
Change the MainActivity.kt file's code to this
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);
}
}
Open MainActivity.kt
and change as below.
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);
}
}
For more information, check out:
https://gist.github.com/akifarhan/f70a2c777651f2ea61a15eb92a5939c1
我通过将FlutterFragmentActivity
更改为FlutterActivity
来修复我的:
/android/app/src/main/kotlin/../MainActivity.kt
Open MainActivity.kt
and replace all FlutterActivity
by FlutterFragmentActivity
.
Refer: Android Integration
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.