Android flatter io.flatter.app.flatterActivity';已在单个类型导入中定义
我正在为Android开发一个颤振应用程序,它每天发送通知。为了保持本地性,我尝试使用Android后台服务实现这一点。我遵循了本教程: 我得到两个错误,第一个是io.flutter.embedding.android.flutravity已经在一个导入类型中定义。据我所知,导致这个问题的原因是有两个类叫做flatterActivity,但我需要这两个类来使用getflatterEngine()和getflatterView()方法。如何从一个类中只导入一个方法?Android flatter io.flatter.app.flatterActivity';已在单个类型导入中定义,android,flutter,background-service,Android,Flutter,Background Service,我正在为Android开发一个颤振应用程序,它每天发送通知。为了保持本地性,我尝试使用Android后台服务实现这一点。我遵循了本教程: 我得到两个错误,第一个是io.flutter.embedding.android.flutravity已经在一个导入类型中定义。据我所知,导致这个问题的原因是有两个类叫做flatterActivity,但我需要这两个类来使用getflatterEngine()和getflatterView()方法。如何从一个类中只导入一个方法? 第二个错误是无法解析“Mai
第二个错误是无法解析“MainActivity”中的方法“getFlatterView”,我认为解决第一个错误可以解决这个问题。
提前感谢您的时间和帮助 已弃用(2020年9月) 弃用:FlatterActivity是新的API,现在取代了此API 班级。查看更多信息 迁移详细信息 为了有利于so解决问题:
导入io.flatter.app.flatteractivity
使用嵌入.android.activity
GetFlatterEngine().getDartExecutor().getBinaryMessenger()
而不是GetFlatterView()
创建并注册MethodChannel
:
new MethodChannel(getFlutterEngine().getDartExecutor().getBinaryMessenger(), "key_01")
.setMethodCallHandler(new MethodChannel.MethodCallHandler() {
@Override
public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result result) {
if(call.method.equals("startService")){
startService();
}
}
});
configureflatterengine
以获取flatterengine
实例,以便创建MethodChannel
new MethodChannel(getFlutterEngine().getDartExecutor().getBinaryMessenger(), "key_01")
.setMethodCallHandler(new MethodChannel.MethodCallHandler() {
@Override
public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result result) {
if(call.method.equals("startService")){
startService();
}
}
});