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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

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

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

Android 解決監(jiān)聽home鍵的幾種方法

前言:

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

一、使用注冊廣播監(jiān)聽home鍵、多任務(wù)鍵

演示圖

創(chuàng)建一個(gè)廣播代碼如下:

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鍵被監(jiān)聽", Toast.LENGTH_SHORT).show();

} else if (reason.equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) {

Toast.makeText(MainActivity.this, "多任務(wù)鍵被監(jiān)聽", Toast.LENGTH_SHORT).show();

}

}

}

}

}

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

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//創(chuàng)建廣播

InnerRecevier innerReceiver = new InnerRecevier();

//動(dòng)態(tài)注冊廣播

IntentFilter intentFilter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);

//啟動(dòng)廣播

registerReceiver(innerReceiver, intentFilter);

}

這樣的話,就ok了。這種方式能對home鍵與多任務(wù)鍵實(shí)現(xiàn)全盤監(jiān)聽,但你無法去屏蔽系統(tǒng)的行為。

二、重寫onKeyDown()監(jiān)聽、屏蔽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鍵監(jiān)聽無效,設(shè)置窗體屬性

this.getWindow().setFlags(0x80000000, 0x80000000);

setContentView(R.layout.activity_main);

}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

總結(jié)

以上是生活随笔為你收集整理的android动态加home,Android 解决监听home键的几种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。