我有三个不同的活动,它们扩展了三种不同的东西,我想实现多级继承,这样我就可以在android:name of androidmanifest中添加它。
以下是所有活动。我根本不了解本土发展。如有任何帮助,我们将不胜感激。
第一次活动
package com.package
import hrx.plugin.monet.MonetApplication
class CustomApplication : MonetApplication()
第二次活动
package com.package
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
}
第三次活动
package com.package;
import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.androidalarmmanager.AlarmService;
class Application : FlutterApplication(), PluginRegistrantCallback {
override fun onCreate() {
super.onCreate();
AlarmService.setPluginRegistrant(this);
}
override fun registerWith(registry: PluginRegistry) {
GeneratedPluginRegistrant.registerWith(registry);
}
}
我有三个不同的活动
实际上,您似乎有两个不同的应用程序对象和一个活动。如果你不知道其中的区别,你可能想回去参加一些Android 101课程。
我想实现多级继承,这样我就可以在android:name of androidmanifest中添加它。
好。你有
class CustomApplication : MonetApplication()
和
class Application : FlutterApplication(), PluginRegistrantCallback
查看MonetApplication
的定义,我们可以看到它被定义为
open class MonetApplication : FlutterApplication()
所以MonetApplication
是一个FlutterApplication
,所以如果你扩展MonetApplication
,你实际上也是在扩展FlutterApplication
,所以你基本上可以把你现有的两个类合并为一个:
class HighlanderApplication : MonetApplication(), PluginRegistrantCallback {
override fun onCreate() {
super.onCreate();
AlarmService.setPluginRegistrant(this);
}
override fun registerWith(registry: PluginRegistry) {
GeneratedPluginRegistrant.registerWith(registry);
}
}
现在,您可以在清单中使用HighlanderApplication
,并获得两者中的所有逻辑。