import com.mypackage.MySDKStartActivity;
private val CHANNEL = "yourMethodChannelName"
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL).setMethodCallHandler { call, result ->
if (call.method == "methodName") {
val arg1 : String? = call.argument("arg1");
val arg2 : String? = call.argument("arg2");
startNewActivity(arg1, arg1); // Method to start the SDK
}
}
}
private fun startNewActivity(arg1: String?, arg2: String?) {
val intent = Intent(context, MySDKStartActivity::class.java)
intent.putExtra("param1",arg1); // send some data to the sdk if it required
intent.putExtra("param2",arg2);
startActivity(intent);
}
2条答案
按热度按时间pcww981p1#
要集成第三方原生SDK,您必须遵循Platform Channel方法。
关于如何集成第三方SDK的分步指南,我写了这篇文章。https://www.solutelabs.com/blog/integrating-third-party-native-sdks-in-flutter
gkl3eglg2#
经过一番研究和分析。我成功地将sdk(.aar)文件集成到Flutter应用程序中。第三方SDK是其中一个产品。SDK是用纯JAVA编写的。
在flutter中,我们必须使用Methodchannel来将flutter应用与原生模块进行交互或扩展功能。
下面是集成SDK的步骤。
步骤:1
文档会说创建一个flutter插件 Package 器。但我已经做了非常基本和直接的集成。
首先在android studio中打开你的android文件夹(根目录)。
把你的.aar文件放到libs文件夹中(如果没有就创建)。示例路径:project〉android〉app〉libs
第二步:
打开app文件夹中的build.gradle文件并添加以下行
之后,同步项目。
步骤:3
现在在新窗口中打开flutter项目
步骤:4
编辑你的dart文件,比如我的flutter项目的main.dart文件,在项目〉lib〉main.dart中
在所有的修改完成后,在android studio或intelliji中运行你的flutter项目。使用main.dart启动应用程序,你可以在按下按钮时调用sdk。
如果出现任何问题,请尝试清除(
flutter clean
)Flutter并重新运行应用程序。我的flutter版本是1.22.6和Dart 2.10.5