我有一个启动画面(假设A),然后是用户画面(B),启动画面出现5秒钟,然后消失,下一个画面是用户画面。在此用户屏幕上,用户必须长按音量调低按钮才能从用户屏幕移至性能屏幕(屏幕C)。
如果我已经在启动屏幕上长按了调低音量键,我的用户屏幕被跳过,直接进入第三屏幕,会发生什么情况,如何避免这种情况
我希望长按降低音量只能在第二个屏幕(即用户屏幕)中工作,而在其他屏幕中不应该做任何事情
尝试了以下代码:
How to catch Longpress and call the standard action on KEYCODE_VOLUME_UP?
最佳答案
您可以创建带有处理Activity
事件的实现的基本onResume
。无论当前顶部的Activity
是什么,这都将有助于跟踪。并检查选择了Activity
的音量长按侦听器。对于前。
class BaseActivity : AppCompatActivity() {
private var isActive = false
.........
override fun onResume() {
super.onResume()
isActive = true
}
override fun onPause() {
super.onPause()
isActive = false
}
}
然后,使用此
Activity
或Fragment
。您可以使用this@BaseActivity.isActive
在处理长按事件之前检查活动是否处于活动状态。
关于android - 如何检测长按特定 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57867512/