【发布时间】:2021-09-08 22:33:12
【问题描述】:
我有一个活动 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
}
}
我的 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.. 方法进行超级调用,但没有用。有没有可能做到这一点?
【问题讨论】:
-
为什么 Activity1 不能覆盖在
activity2上覆盖的相同方法? -
@cutiko 无法控制activity2,除了keyHandling
-
我要的是
activity1,如果您要覆盖activity2上的方法,您怎么能无法控制?你真的可以在那里写代码,你怎么没有控制权? -
是的,为什么不在
Activity2中为Activity1调用方法onKeyDown()?或者更好地使Activity2扩展Activity1。 -
它们来自不同的应用程序,不属于我。
标签: android kotlin android-activity android-keypad