安卓使用物理鍵監聽器
使用手機物理鍵對程式程式監聽,在此總結。
手機物理鍵:
KEYCODE_VOLUME_UP;//加音鍵
KEYCODE_VOLUME_DWON;//減音鍵
KEYCODE_POWER;//電源鍵
keyCode == KeyEvent.KEYCODE_HOME//home鍵
keyCode == KeyEvent.KEYCODE_BACK//返回鍵
keyCode == KeyEvent.KEYCODE_MENU//選單鍵
下面以一個手機返回物理鍵為例,點選返回,會彈出“再按一次退出程式”字樣,如果連續點選兩次返回,程式直接退出。
效果圖
activity_main.xml檔案
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/cat"
android:scaleType="fitXY"
/>
</LinearLayout>
MainActivity.java檔案
package com.example.a13468.mydemo01;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.Toast;
import static android.view.KeyEvent.KEYCODE_BACK;
import static android.view.KeyEvent.KEYCODE_HOME;
public class MainActivity extends Activity {
private long exitTime=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 設定觸莫按下的回撥監聽
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KEYCODE_BACK){
exit();
return true;
}
return super.onKeyDown(keyCode, event);
}
public void exit(){
//System.currentTimeMillis()獲取當前時間
if((System.currentTimeMillis()-exitTime)>2000){
Toast.makeText(this, "再按一次退出程式", Toast.LENGTH_SHORT).show();
exitTime= System.currentTimeMillis();
}
else {
finish();
System.exit(0);
}
}
}
相關文章
- H5-監聽任何安卓機、App自帶的物理返回鍵H5安卓APP
- web app 中物理返回鍵的監聽WebAPP
- uniapp打包成apk,監聽安卓手機的返回鍵APPAPK安卓
- 安卓監聽網路變化安卓
- H5頁面監聽Android物理返回鍵H5Android
- JS監聽手機物理返回鍵(及IOS微信端的bug)JSiOS
- 監聽鍵盤事件事件
- AndroidTV開發中所有的遙控器按鍵監聽及注意事項,新增home鍵監聽Android
- Android Home鍵、鎖屏鍵監聽Android
- python pynput監聽鍵盤Python
- flutter中監聽鍵盤Flutter
- java鍵盤監聽之視窗監聽的實現Java
- 使用JavaScript給物件修改註冊監聽器JavaScript物件
- JMeter—監聽器(十二)JMeter
- android PopupWindow監聽返回鍵無效Android
- 監聽器和過濾器過濾器
- 如何無縫監聽安卓手機通知欄推送資訊以及拒接來電安卓
- Mac 安卓Studio使用外部模擬器Mac安卓
- python使用裝飾器實現的事件中心(監聽器)Python事件
- Spring中如何優雅的使用監聽器模式Spring模式
- 使用fiddler和安卓模擬器抓取安卓客戶端資料包安卓客戶端
- 事件和事件監聽器事件
- javaWeb中的監聽器JavaWeb
- 如何移除事件監聽器事件
- Echarts 監聽滑鼠右鍵或者雙擊Echarts
- jfinal中如何使用過濾器監控Druid監聽SQL執行?過濾器UISQL
- 安卓Android虛擬機器分享及使用安卓Android虛擬機
- 請問一下,如何監聽 swipe 滑動事件,謝謝 - 使用於安卓端的自動化測試事件安卓
- Springboot中自定義監聽器Spring Boot
- day25-Listener監聽器
- jmeter監聽器(Transactions per Second)JMeter
- 【spring原始碼】十二、監聽器Spring原始碼
- vue的監聽鍵盤事件的快捷方法Vue事件
- Android監聽軟鍵盤收起與彈出Android
- SpringBoot 攔截器、過濾器、監聽器Spring Boot過濾器
- 過濾器和監聽器總結過濾器
- 監聽 watch props物件屬性監聽 或深度監聽物件
- 安卓EasyLib的使用安卓