Flutter与Kotlin通信代码(残缺)

这个代码是写到一半的代码,没有测试,留待周末使用
事情原由:
在学习Flutter中混合通信模块,由于示例代码给的是java代码,我生成的是kotlin代码,所以有点不一样。
另外参考以下链接关于两个FlutterActivity的注意点
https://blog.csdn.net/Mr_Tony/article/details/110005074
官方的教程貌似没有更新到1.2。所以有些地方不适用,下面给出升级的教程:
https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects
百度上面都是java,所以没找到适合的代码
官方链接:
https://flutter.cn/docs/get-started/flutter-for/android-devs#how-do-i-handle-incoming-intents-from-external-applications-in-flutter
这里给出部分的官网代码:
在这里插入图片描述
下面是我自己尝试的代码:

package com.example.flutter_app

import android.content.Intent
import android.os.Bundle
import io.flutter.app.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.embedding.engine.plugins.util.GeneratedPluginRegister
import io.flutter.plugin.common.MethodChannel


class MainActivity: FlutterActivity() {
    private var sharedText: String? = null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

	    GeneratedPluginRegister.registerGeneratedPlugins(FlutterEngine(this))
        val intent = intent
        val action = intent.action
        val type = intent.type

        if (Intent.ACTION_SEND == action && type != null) {
            if ("text/plain" == type) {
                handleSendText(intent) // Handle text being sent
            }
        }
        MethodChannel(flutterView, "app.channel.shared.data").setMethodCallHandler { call, result ->
            if (call.method.contentEquals("getSharedText")) {
                result.success(sharedText)
                sharedText = null
            }
        }
    }
    fun handleSendText(intent: Intent) {
        sharedText = intent.getStringExtra(Intent.EXTRA_TEXT)
    }
}

ps.

  1. 关于GeneratedPluginRegister引入包的问题,周五测试的是只能使用下面的包
    io.flutter.embedding.engine.plugins.util.GeneratedPluginRegister
    但是,周六再次测试却发现以下的包也可以引入,原因暂时未知
    io.flutter.plugins.GeneratedPluginRegister
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值