android - 如何检测长按特定 Activity

标签 android android-event

我有一个启动画面(假设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
    }

}


然后,使用此ActivityFragment。您可以使用this@BaseActivity.isActive在处理长按事件之前检查活动是否处于活动状态。

关于android - 如何检测长按特定 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57867512/

相关文章:

android - 监听WIFI状态

android - 从小部件列表中拖动时阻止小部件 onUpdate onReceive?

Android - 由 : java. lang.NullPointerException 引起:存储 == null

java - if/else 语句在 android 应用程序中不起作用(else 语句始终执行)

java - 按后退按钮当前片段保留不恢复上一个片段

java - Android:网页无法在平板电脑上启动

android - 悬停时检测scrollTop()(手持设备)

android - 当应用程序安装在 SD 卡上而不是内部存储时,DownloadManager 广播 DownloadManager.ERROR_FILE_ERROR

android - Facebook SDK 3.0 安卓