Android - 向下传递键以启动父活动

问题描述

我有一个活动 A,我在其中通过意图启动了另一个活动。但我的目标是将密钥传递给活动 1,而不是在活动 2 进行处理。从 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
} 
}

我的活动 2 如下所示,我不处理密钥,而是重新调整为 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.. 方法调用超级方法,但没有用。是否有可能实现这一目标?

解决方法

有可能实现吗?

没有。每个活动都是它自己的窗口;关键事件转到一个窗口。

最简单的解决方案是有一个活动,而不是两个。