日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android动态加home,Android 解决监听home键的几种方法

發布時間:2024/7/19 Android 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android动态加home,Android 解决监听home键的几种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

前言:

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

一、使用注冊廣播監聽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,Android 解决监听home键的几种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。