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
}
我想我现在怎么放额外的东西,但不知道怎么得到它们
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
}