web-dev-qa-db-ja.com

エラー:PlatformException(no_fragment_activity、local_authプラグインはアクティビティがFragmentActivityである必要があります。、null)

Local_authバージョン0.6.0の使用中にこのエラーが発生するiOSでは問題なく動作しますが、Androidではこのエラーが発生します。すでにclass MainActivity: FlutterFragmentActivity()を実装していますが、まだこの問題が発生しています

2
Devansh Vyas

これは私がこの問題を解決するためにやったことです

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);
    }
}

ただし、これをMainActivity.ktに変更した後、Theme.AppCompatに関する他の問題も発生しました。これをチェックしてください https://Gist.github.com/akifarhan/f70a2c777651f2ea61a15eb92a5939c1 解決策。

1
akifarhan

私はlocal_auth 0.6.2 + 3を使用しています

私のMainActivity.kt

 package xx.xx.xxx
 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);
   }
}

私はSplashScreenUntilFirstFrameメタタグを使用していましたが、それをmain/AndroidManifest.xmlから削除すると、完全に正常に機能します。

<meta-data
Android:name="io.flutter.app.Android.SplashScreenUntilFirstFrame"
Android:value="true"/>
0
Jiten Basnet