91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Android項目中怎么監聽home鍵

發布時間:2020-11-21 15:29:10 來源:億速云 閱讀:599 作者:Leah 欄目:移動開發

這期內容當中小編將會給大家帶來有關在Android項目中怎么監聽home鍵,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Android 解決監聽home鍵的幾種方法

前言:

以下兩種方法可以完美解決監聽back鍵,home鍵,多任務鍵(最近任務鍵)。

一、使用注冊廣播監聽home鍵、多任務鍵

演示圖

在Android項目中怎么監聽home鍵

創建一個廣播代碼如下:

class InnerRecevier extends BroadcastReceiver {

  final String SYSTEM_DIALOG_REASON_KEY = "reason";

  final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";

  final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";

  @Override
  public void onReceive(Context context, Intent intent) {
   String action = intent.getAction();
   if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) {
    String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
    if (reason != null) {
     if (reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)) {
      Toast.makeText(MainActivity.this, "Home鍵被監聽", Toast.LENGTH_SHORT).show();
     } else if (reason.equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) {
      Toast.makeText(MainActivity.this, "多任務鍵被監聽", Toast.LENGTH_SHORT).show();
     }
    }
   }
  }
 }

在Activity中的onCreate()方法中注冊廣播,代碼如下:

@Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  //創建廣播
  InnerRecevier innerReceiver = new InnerRecevier();
  //動態注冊廣播
  IntentFilter intentFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
  //啟動廣播
  registerReceiver(innerReceiver, intentFilter);
 }

這樣的話,就ok了。這種方式能對home鍵與多任務鍵實現全盤監聽,但你無法去屏蔽系統的行為。

二、重寫onKeyDown()監聽、屏蔽back鍵、home鍵

在Activity中重寫onKeyDown(),代碼如下:

@Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_BACK) {
   Toast.makeText(MainActivity.this, "返回鍵無效", Toast.LENGTH_SHORT).show();
   return true;//return true;攔截事件傳遞,從而屏蔽back鍵。
  }
  if (KeyEvent.KEYCODE_HOME == keyCode) {
   Toast.makeText(getApplicationContext(), "HOME 鍵已被禁用...", Toast.LENGTH_SHORT).show();
   return true;//同理
  }
  return super.onKeyDown(keyCode, event);
 }

在Activity中onCreate()中添加代碼,代碼如下:

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  //在setContentView之前添加,未添加的話home鍵監聽無效,設置窗體屬性
  this.getWindow().setFlags(0x80000000, 0x80000000);
  setContentView(R.layout.activity_main);
 }

上述就是小編為大家分享的在Android項目中怎么監聽home鍵了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

莫力| 花垣县| 普宁市| 古田县| 祁门县| 襄樊市| 峡江县| 长宁区| 青铜峡市| 松溪县| 佳木斯市| 新疆| 峨山| 三门峡市| 南丰县| 前郭尔| 辽中县| 腾冲县| 怀宁县| 淅川县| 威远县| 尖扎县| 临猗县| 屏南县| 嵊泗县| 尉氏县| 丽江市| 哈密市| 花莲市| 芮城县| 习水县| 青海省| 福安市| 台北市| 平塘县| 遂宁市| 泗阳县| 沈阳市| 理塘县| 嘉善县| 海伦市|