找不到符号flatterEngine.getPlugins()



我尝试在flutter项目中运行java代码。已经做了methodchannel,但我得到了这个

找不到符号flatterEngine.getPlugins((.add(newio.flutter.plugins.pathprovider.PathProviderPlugin(((;

未为颤振引擎定义getplugins

package com.background.service.flutterbackgroundservice;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import androidx.annotation.Nullable;

import java.util.Objects;
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugins.GeneratedPluginRegistrant;
import static android.content.pm.PackageManager.DONT_KILL_APP;
public class MainActivity extends FlutterActivity {

private Intent forservice;
@Override
protected void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(new FlutterEngine(this));
forservice = new Intent(MainActivity.this, MyService.class);
new MethodChannel(Objects.requireNonNull(getFlutterEngine()).getDartExecutor().getBinaryMessenger(), "samples.flutter.dev/battery").setMethodCallHandler((call, result) -> {
if (call.method.equals("startservice")){
startservice();
result.success("service start");
}else {
result.notImplemented();
}
});

}
private void startservice(){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
startForegroundService(forservice);
}else{
startService(forservice);
}
}

出现该错误的原因是您试图调用似乎不存在的getPlugins()方法。使用GeneratedPluginRegistrant. registerWith(this)应该可以解决这里提到的问题。

最新更新