Kotlin 如何将 Activity 中的额外内容添加到服务中

Kotlin how to put extra from Activity to Service

我想我现在怎么放额外的东西,但不知道怎么得到它们

Intent(this, MyService::class.java).also { intent ->
    bindService(intent, connection, Context.BIND_AUTO_CREATE)
    intent.putExtra("ip1", ip1)
    intent.putExtra("port1", port1)
 }

我试过类似 val ip1 = getIntent().getStringExtra("ip1") 的东西,但它不起作用,它还说 getIntent() 已被弃用,改为使用 parseUri。

将意图参数放在绑定到服务之前:

val intent = Intent(this, MyService::class.java)
intent.putExtra("ip1", ip1)
intent.putExtra("port1", port1)
bindService(intent, connection, Context.BIND_AUTO_CREATE)

并使用服务的 onBind 方法的意图来取回值:

override fun onBind(intent: Intent): IBinder? {
    val ip1 = intent.getStringExtra("ip1")
    val port1 = intent.getStringExtra("port1")
    ...

    return binder
}