1. 程式人生 > >Android Back鍵與Home鍵的監聽

Android Back鍵與Home鍵的監聽

複製程式碼
package com.mengdd.hellohome;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class HomeWatcherReceiver extends BroadcastReceiver {
    private static final String LOG_TAG = "HomeReceiver";
    private static
final String SYSTEM_DIALOG_REASON_KEY = "reason"; private static final String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps"; private static final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey"; private static final String SYSTEM_DIALOG_REASON_LOCK = "lock"; private static final String SYSTEM_DIALOG_REASON_ASSIST = "assist"; @Override
public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.i(LOG_TAG, "onReceive: action: " + action); if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { // android.intent.action.CLOSE_SYSTEM_DIALOGS String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY); Log.i(LOG_TAG,
"reason: " + reason); if (SYSTEM_DIALOG_REASON_HOME_KEY.equals(reason)) { // 短按Home鍵 Log.i(LOG_TAG, "homekey"); } else if (SYSTEM_DIALOG_REASON_RECENT_APPS.equals(reason)) { // 長按Home鍵 或者 activity切換鍵 Log.i(LOG_TAG, "long press home key or activity switch"); } else if (SYSTEM_DIALOG_REASON_LOCK.equals(reason)) { // 鎖屏 Log.i(LOG_TAG, "lock"); } else if (SYSTEM_DIALOG_REASON_ASSIST.equals(reason)) { // samsung 長按Home鍵 Log.i(LOG_TAG, "assist"); } } } }
複製程式碼

相關推薦

Android BackHome

package com.mengdd.hellohome; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.ut

Back Home

back鍵預設行為是finish處於前臺的Activity的即Activity的狀態為Destroy狀態為止,再次啟動該Activity是從onCreate開始的(不會呼叫onSaveInstanceState方法)。 Home鍵預設是stop前臺的Activity即狀態為

Androidback兩次退出程式 or 按back相當Home來返回手機主頁

private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (KeyE

android 在fragment中如何返回home

在activity中用keydown很容易實現對返回鍵的監聽,但是這個函式不能再fragment中過載。  通過我嘔心瀝血的尋找,終於找到了解決辦法,對其他物理按鍵的監聽也同理。  Java程式碼   public class phonerecorder exten

Android返回、MenuHome

back鍵 監聽back鍵還是很簡單的,有兩種方法: 呼叫onBackPressed()方法:呼叫此方法會自動呼叫finish()。 @Override public void onBackPressed() { statement /

Android之小技巧 - Fragment返回

使用場景  在一個Fragment中按下返回鍵,先判斷下PopupWindow是否顯示,若顯示,隱藏PopupWindow,否則,執行系統的返回事件。 程式碼示例 @Override public void onResume() { super.onResu

正在執行的android程式,按home之後退回到桌面,再次點選桌面圖示避免再次重新啟動程式的終極解決辦法

在網上找了好多方法,有的說 在AndroidManifest.xml中修改,MainActivity的launchMode,去掉android:launchMode="singleTask"啟動模式即可。 AndroidManifest.xml的配置程式碼 可是我的程式碼就是這樣

Android studio 使用快捷

使用快捷鍵 可以提高效率 有些快捷鍵記不住 記錄下 常用的快捷鍵 提取全域性變數:Ctrl+Alt+F 提取方法 :Ctrl+Alt+M 設定 : Ctrl+Shitf+S Run : Shift+F10 Debug : Shift+ f9

android如何遮蔽掉home

在2.3版本以下重寫下面方法就能重寫home鍵public void onAttachedToWindow() {      this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);      s

Android 通過註冊廣播,實時網路連線斷開狀態的變化

很多時候我們都需要實時監聽網路狀態,當網路狀態發生變化之後立即通知程式進行不同的操作。 監聽廣播的兩種方式: (1)在AndroidManifest.xml配置檔案中宣告 <receiver android:name=".NetworkConn

Android 設定Wifi熱點、開啟關閉的

用過360的面對面快傳,快牙的朋友應該都知道,它們在兩臺裝置間實現檔案傳輸都是通過WiFi熱點實現的,下面我們就來探討一下如何設定熱點名和密碼,並自動建立一個wifi熱點吧,以及如何監聽熱點的開啟與關閉。 一、建立WiFi熱點 其實建立熱點很簡單,先獲取到wifi的服務

如何讓BACK變為HOME

back鍵 Android的程式無需刻意的去退出,當你一按下手機的back鍵的時候,系統會預設呼叫程式棧中最上層Activity的Destroy()方法來銷燬當前Activity,當此Activit

AndroidJS互動,url實時變化的方法.

private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view,

解決 添加數據 spec 毫無 har 程序 同時 次數 rom 轉自:http://www.cnblogs.com/longyi1234/archive/2010/03/24/1693738.html 一、什麽是主鍵、外鍵: 關系型數據庫中的一條記錄中有若幹個屬性,

Android 數據庫 短信

.net color post allow 操作 space true utf-8 upd Android 實現監聽短信(同一時候監聽廣播和數據庫)代碼例如以下: 攔截廣播 package com.javen.sms.receiver; i

返回等效home的效果

@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { Intent intent = new Intent(Inten

Android學習筆記1:基於的事件處理過程

基於監聽的事件處理過程 記錄一:安卓介面互動處理事件的兩個方式 (1)基於監聽的事件處理 (2)基於回撥的事件處理 基於回撥的事件處理日後再寫,先學習基於監聽的事件處理 通常以下步驟: (1)例項化物件 (2)為事件源物件新增監聽器物件,例如set...List

Android 輸入鍵盤彈出隱藏

父佈局 註冊監聽 parent.getViewTreeObserver().addOnGlobalLayoutListener(this);//parent指父佈局控制元件變數 重寫監聽方法 @Override public void onGlobalLayout() { //判斷視

Android -- Button(按鈕)的幾種方式

之前寫了一篇關於TextView的文章,今天說的是Button(按鈕),Button是程式用於和使用者進行互動的重要控制元件,它的屬性有些和TextView類似 一、Button屬性如下: android:background     設定按鈕的背景,可以使用RGB的值來表

WebView使用詳解(二)——WebViewClient常用事件

前言:生活的艱難,更會激發對夢想的渴望,但艱難的生活卻往往會成為夢想的絆腳石上篇給大家簡單講了Webview中Native程式碼與JS相互呼叫的方法,這篇我們再講講有關各種攔截與處理的東東。一、WebViewClient1、概述前面我們雖然實現了互動,但可能我們會有一個很簡單