📌  相关文章
📜  如何在Android中以编程方式收听音量按钮和后退键事件?

📅  最后修改于: 2021-05-09 16:56:46             🧑  作者: Mango

按生产情况,Android设备具有特定的物理键,例如音量键,电源键,返回键,主页键和活动键。这些键响应按下。相同的按键在印刷机的性质上具有特定的功能。单次按下时的音量键可将音量增加或减少一定量。同样,按一下电源键可锁定设备,但长按则可打开或关闭设备。本文将创建一个响应按键的应用程序,并生成一条确认消息。该想法可以进一步用于创建有用的应用程序:

  1. 游戏应用程序:物理键可用于游戏中所需的操作。
  2. 氛围:音量键可用于增加或降低屏幕的亮度,而不是传统方式。
  3. 其他应用程序的快捷方式:长时间按下Home键会弹出Google助手,可以进行类似的快捷方式。

本文旨在突破此过程的代码,并使用相同的密钥来创建任何所需的应用程序或功能。本文后面部分中解释的代码范围仅限于我们将创建的应用程序。创建的功能仅在应用程序内部起作用。下面的样本GIF给出得到什么我们将在本文中做的想法请注意,我们将使用Kotlin语言实施此项目。

以编程方式侦听音量按钮和返回键事件的步骤

步骤1:创建一个新项目

要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Kotlin作为编程语言。

步骤2:使用MainActivity.kt文件

MainActivity.kt文件中,声明覆盖函数onKeyDown 并添加以下代码,如下所示。我们将响应所按下的键生成一个Toast。下面是MainActivity.kt文件的代码。在代码内部添加了注释,以更详细地了解代码。

Kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.KeyEvent
import android.widget.TextView
import android.widget.Toast
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
    }
  
    // 1. onKeyDown is a boolean function, which returns the state of the KeyEvent.
    // 2. This function is an internal function, that functions outside the actual application.
    // 3. When the any Key is pressed, a Toast appears with the following message.
    // 4. This code can be used to check if the device responds to any Key.
    override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
  
        when (keyCode) {
            KeyEvent.KEYCODE_VOLUME_DOWN -> Toast.makeText(applicationContext, "Volume Down Key Pressed", Toast.LENGTH_SHORT).show()
            KeyEvent.KEYCODE_VOLUME_UP -> Toast.makeText(applicationContext, "Volume Up Key Pressed", Toast.LENGTH_SHORT).show()
            KeyEvent.KEYCODE_BACK -> Toast.makeText(applicationContext, "Back Key Pressed", Toast.LENGTH_SHORT).show()
        }
        return true
    }
}


输出:在模拟器上运行

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!