Android 物理按鍵整理及實(shí)例代碼
先給大家看一段代碼,然后說(shuō)明。
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//我們?cè)谔幚砦锢戆存I事件時(shí),提供的回調(diào)方法有onKeyUp(),onKeyDown(),和onKeyLongPress(),比如音量鍵、返回鍵
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
Log.e("TAG", "這是監(jiān)聽(tīng)鍵盤(pán)操作,按下了Back鍵");
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_VOLUME_UP){
Log.e("TAG", "音量加鍵");
}
return super.onKeyUp(keyCode, event);
}
//Activity中,我們可以重寫(xiě)onBackPressed()方法來(lái)處理返回鍵,如兩次按鍵退出
//第一次按下的時(shí)候,記錄事件
//第二次按下的事件減去第一次按下的時(shí)間小于2s就退出,否則將當(dāng)前時(shí)間賦給第一次事件
long startTime;
@Override
public void onBackPressed() {
Log.e("TAG", "監(jiān)聽(tīng)Back鍵");
if(System.currentTimeMillis()-startTime<2000){
super.onBackPressed();//釋放資源,這個(gè)也可以直接finish(),但調(diào)用父類(lèi)的釋放的更徹底
}else{
//記錄當(dāng)前時(shí)間
startTime = System.currentTimeMillis();
Toast.makeText(this, "再按一次Back鍵退出", Toast.LENGTH_SHORT).show();
}
}
}
一些常用物理按鍵
電源鍵 KEYCODE_POWER
后退鍵 KEYCODE_BACK
菜單鍵 KEYCODE_MENU
HOME鍵 KEYCODE_HOME
相機(jī)鍵 KEYCODE_CAMERA
音量鍵 KEYCODE_VOLUME_UP / KEYCODE_VOLUME_DOWM
搜索鍵 KEYCODE_SEARCH
方向鍵 KEYCODE_DPAD_CENTER
KEYCODE_DPAD_UP
KEYCODE_DPAD_DOWN
KEYCODE_DPAD_LEFT
KEYCODE_DPAD_RIGHT
鍵盤(pán)鍵 KEYCODE_0...KEYCODE_9
KEYCODE_A....KEYCODE_Z
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
PowerManagerService之手動(dòng)滅屏流程示例分析
這篇文章主要為大家介紹了PowerManagerService之手動(dòng)滅屏流程的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
android如何取得本地通訊錄的頭像的原圖的實(shí)現(xiàn)代碼
這篇文章主要介紹了android如何取得本地通訊錄的頭像的原圖的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Flutter實(shí)戰(zhàn)之自定義日志打印組件詳解
這篇文章主要介紹了Flutter實(shí)戰(zhàn)之自定義日志打印組件詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03
android studio安裝時(shí) AVD出現(xiàn)問(wèn)題如何快速解決
這篇文章主要介紹了安裝android studio時(shí) AVD出現(xiàn)問(wèn)題如何快速處理,其實(shí)解決方法也很簡(jiǎn)單,文中通過(guò)截圖的形式給大家及時(shí)的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Android編程調(diào)節(jié)屏幕亮度(背景燈)及保持背景燈常亮的方法
這篇文章主要介紹了Android編程調(diào)節(jié)屏幕亮度(背景燈)及保持背景燈常亮的方法,涉及Android屏幕相關(guān)屬性涉及技巧,需要的朋友可以參考下2016-01-01
Android提高之AudioRecord實(shí)現(xiàn)助聽(tīng)器的方法
這篇文章主要介紹了Android中AudioRecord實(shí)現(xiàn)助聽(tīng)器的方法,對(duì)進(jìn)行Android項(xiàng)目開(kāi)發(fā)有一定的借鑒價(jià)值,需要的朋友可以參考下2014-08-08
Android自定義DataTimePicker實(shí)例代碼(日期選擇器)
本篇文章主要介紹了Android自定義DataTimePicker實(shí)例代碼(日期選擇器),非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2017-01-01

