java - 在按钮单击时从新的 Kotlin/Java Activity 调用 Flutter 方法
问题描述
我是 Flutter 和 Kotlin 的新手。
我在 Flutter 中创建了一个方法来调用 MainActivty.kt 中的方法。这个函数是从 MainActivity 开始另一个活动。SecondAcitivty 用于使用 CameraX API 拍照。我想从第二个活动中得到一些结果,回到颤动。
调用方法的 Dart 函数。
openCamera() async {
String value;
try {
value = await platform.invokeMethod('openCamera');
} catch (e) {}
print(value);
}
我的 MainActivity.kt
class MainActivity: FlutterActivity() {
private val CHANNEL = "com.example.app/camera_start"
private val flutterEngine = null;
var methodCal = null;
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine)
MethodChannel(flutterEngine.dartExecutor,CHANNEL).setMethodCallHandler{
methodCall, result ->
if (methodCall.method == "openCamera"){
val intent = Intent(this, CameraActivity::class.java)
startActivityForResult(intent,2)
result.success("Hello from Kotlin")
}
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
super.onActivityResult(requestCode, resultCode, data)
// check if the request code is same as what is passed here it is 2
if (requestCode == 2) {
val message = data.getStringExtra("MESSAGE")
Log.d("MESSAGE", message)
}
}
}
如何从 CameraActivity 发送值以颤振或通过单击 CameraActivity 中的按钮调用颤振中的方法?
解决方案
推荐阅读
- python-3.x - 递归冰雹序列(Python 3.x)返回一个平面列表
- ios - UIImageView 中的 Swift 4 UIButton 操作不起作用
- python - How to finish the code using recursion?
- php - 在 Silverstripe 4 中,GridField 的标准“添加”按钮什么也不做
- javascript - 同时使用 Onkeyup 和 Onchange
- c - 将用户输入写入文件,然后读取它
- google-apps-script - 通过 Apps 脚本读取汇总 Google 财经数据结果的单元格的值
- php - 如果增值税号无效,如何显示验证消息?(错误变量为空)
- loops - 从无上下文转换为 CNF 时如何处理循环?
- ubuntu - 如何指定 CMake 在 Ubuntu 中的安装位置?