Flutter 扩展AppCompatActivity与扩展AppCompatActivity
为了 我们必须在MainActivity活动中使用我们的代码 但在我的android应用程序中,我有Flutter 扩展AppCompatActivity与扩展AppCompatActivity,flutter,Flutter,为了 我们必须在MainActivity活动中使用我们的代码 但在我的android应用程序中,我有公共类MainActivity扩展了AppCompatActivity 我不能扩展两个类,比如扩展AppCompatActivity,flatterActivity 我该怎么办?我可以为MethodChannel使用另一个java类吗 我可以为MethodChannel使用另一个java类吗 是的,您可以为MethodChannel使用另一个java类。您可以在应用程序中的任何位置编写它,如下所示
公共类MainActivity扩展了AppCompatActivity
我不能扩展两个类,比如扩展AppCompatActivity,flatterActivity
我该怎么办?我可以为MethodChannel使用另一个java类吗
我可以为MethodChannel使用另一个java类吗
是的,您可以为MethodChannel使用另一个java类。您可以在应用程序中的任何位置编写它,如下所示:
public class MyFlutterActivity extends FlutterActivity {
private static final String CHANNEL = "samples.flutter.io/battery";
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL).setMethodCallHandler(((methodCall, result) -> {
if (methodCall.method.equals("getBatteryLevel")) {
result.success("batteryLevel"); // It returns string "batteryLevel".
} else {
result.notImplemented();
}
}));
}
}
startActivity(
new FlutterActivity.NewEngineIntentBuilder(MyFlutterActivity.class).build(getApplicationContext())
);
然后,您可以使用如下相关类启动颤振引擎:
public class MyFlutterActivity extends FlutterActivity {
private static final String CHANNEL = "samples.flutter.io/battery";
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL).setMethodCallHandler(((methodCall, result) -> {
if (methodCall.method.equals("getBatteryLevel")) {
result.success("batteryLevel"); // It returns string "batteryLevel".
} else {
result.notImplemented();
}
}));
}
}
startActivity(
new FlutterActivity.NewEngineIntentBuilder(MyFlutterActivity.class).build(getApplicationContext())
);
当然,您需要在AndroidManifest.xml中定义该类:
<activity android:name=".MyFlutterActivity"
android:theme="@style/AppTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize"
/>
您有没有成功解决这个问题的方法?@Akif我想活动包括了AppCompatActivity的所有功能,我只是在今天找到解决方案后更换并使用它。我想在这里为下一位访客添加。最好在开放式颤振活动中使用颤振缓存引擎,而不是使用新的颤振活动。我想是新的EngineeIntentBuilder。