Android - 将密钥向下传递给已启动的父级 activity
Android - Passing keys down to launched parent activity
我有一个 activity A,我通过意图启动了另一个 activity。但是我的 objective 是将密钥传递给 activity1,而不是在 activity2 处处理。从 onkeydown 或 onkeyup 返回 false 是没有用的。我怎样才能做到这一点?
Class activity1: Activity(){
Override oncreate(){
// set view
// launch activity2
launchactivy2()
}
fun launchactivy2(){
val playIntent = Intent("android.intent.action.VIEW")
playIntent.putExtra("position", "top")
playIntent.component = ComponentName(
"com.myapp.package”,
"com.myapp.package.activity2”
)
context.startActivity(playIntent)
}
fun onKeyDown(){
// Handle keys here
}
}
我的 activity2 如下所示,我没有处理密钥,而是重新调整 false。
Class activity2: Activity(){
Override oncreate(){
// set view
}
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
super.onKeyDown(keyCode, event)
return false
}
override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
super.onKeyUp(keyCode, event)
return false
}
}
尝试只返回 false,而不是从 onKey.. 方法进行超级调用,但没有用。有可能实现吗?
Is it possible to achieve this?
没有。每个 activity 都是它自己的 window;关键事件进入 window.
最简单的解决方案是使用一个 activity,而不是两个。
我有一个 activity A,我通过意图启动了另一个 activity。但是我的 objective 是将密钥传递给 activity1,而不是在 activity2 处处理。从 onkeydown 或 onkeyup 返回 false 是没有用的。我怎样才能做到这一点?
Class activity1: Activity(){
Override oncreate(){
// set view
// launch activity2
launchactivy2()
}
fun launchactivy2(){
val playIntent = Intent("android.intent.action.VIEW")
playIntent.putExtra("position", "top")
playIntent.component = ComponentName(
"com.myapp.package”,
"com.myapp.package.activity2”
)
context.startActivity(playIntent)
}
fun onKeyDown(){
// Handle keys here
}
}
我的 activity2 如下所示,我没有处理密钥,而是重新调整 false。
Class activity2: Activity(){
Override oncreate(){
// set view
}
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
super.onKeyDown(keyCode, event)
return false
}
override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
super.onKeyUp(keyCode, event)
return false
}
}
尝试只返回 false,而不是从 onKey.. 方法进行超级调用,但没有用。有可能实现吗?
Is it possible to achieve this?
没有。每个 activity 都是它自己的 window;关键事件进入 window.
最简单的解决方案是使用一个 activity,而不是两个。