Android 改寫返回鍵事件監聽,使得back鍵功能類似home鍵,讓Acitivty退至後臺時不被系統銷燬
現在很多程式要求back鍵不是退出程式而是像home鍵一樣讓Acitivty退至後臺時不被系統銷燬,查到的資料大多說都是繼承activity的沒有繼承TabActivity,
TabActivity和activity不能一樣處理,廢話不多說了上程式碼。
繼承activity的
/** * 返回監聽 */ public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO 監聽返回鍵,相當於點選home鍵 PackageManager pm = getPackageManager(); ResolveInfo homeInfo = pm.resolveActivity( new Intent(Intent.ACTION_MAIN) .addCategory(Intent.CATEGORY_HOME), 0); if (keyCode == KeyEvent.KEYCODE_BACK) { ActivityInfo ai = homeInfo.activityInfo; Intent startIntent = new Intent(Intent.ACTION_MAIN); startIntent.addCategory(Intent.CATEGORY_LAUNCHER); startIntent .setComponent(new ComponentName(ai.packageName, ai.name)); startActivitySafely(startIntent); return true; } else return super.onKeyDown(keyCode, event); }
繼承TabActivity的
@Override public boolean dispatchKeyEvent(KeyEvent event) { PackageManager pm = getPackageManager(); ResolveInfo homeInfo = pm.resolveActivity( new Intent(Intent.ACTION_MAIN) .addCategory(Intent.CATEGORY_HOME), 0); if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { ActivityInfo ai = homeInfo.activityInfo; Intent startIntent = new Intent(Intent.ACTION_MAIN); startIntent.addCategory(Intent.CATEGORY_LAUNCHER); startIntent .setComponent(new ComponentName(ai.packageName, ai.name)); startActivitySafely(startIntent); return false; } return super.dispatchKeyEvent(event); }
private void startActivitySafely(Intent intent) { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); try { startActivity(intent); } catch (ActivityNotFoundException e) { Toast.makeText(this, "ActivityNotFoundExceptionnull", Toast.LENGTH_SHORT).show(); } catch (SecurityException e) { Toast.makeText(this, "SecurityExceptionnull", Toast.LENGTH_SHORT) .show(); } }
相關推薦
Android 改寫返回鍵事件監聽,使得back鍵功能類似home鍵,讓Acitivty退至後臺時不被系統銷燬
現在很多程式要求back鍵不是退出程式而是像home鍵一樣讓Acitivty退至後臺時不被系統銷燬,查到的資料大多說都是繼承activity的沒有繼承TabActivity, TabActivity和activity不能一樣處理,廢話不多說了上程式碼。 繼承activity
HTML5 瀏覽器返回按鈕/手機返回按鈕事件監聽
手機 鎖定 listitem con 按鈕 spa color cnblogs java 1.HTML5 History對象 支持使用pushState()方法修改地址欄地址,而不刷新頁面。 popstate事件 當history實體被改變時,popstate事件將會發生
Android View的onClick事件監聽
點選事件 Android中Touch事件相關內容都被封裝到 MotionEvent 中,MotionEvent 中的時間型別有按下、擡起、滑動和結束事件。這些事件都是人機互動的一個過程,按下動作指的是人手指按在手機螢幕上這個動作,擡起動作指的是人手指按下手機後擡起來這個動作
Android 拍照 截圖 事件監聽實現
需求是獲得使用者截圖,或者拍照的主動存圖行為。 但是 android 官方沒有提供回撥廣播之類的實現監聽,所以需要用另一種方式達到需求,這裡實現的就是通過監聽media資料夾實現目的。 所需許可權: <uses-permission android:name="an
返回鍵處理,back鍵功能類似home鍵
//返回鍵處理 Android 改寫返回鍵事件監聽,使得back鍵功能類似home鍵,讓Acitivty退至後臺時不被系統銷燬 現在很多程式要求back鍵不是退出程式而是像home鍵一樣讓Acitivty退至後臺時不被系統銷燬,查到的資料大多說都是繼承activity的沒有繼承Tab
ANDROID 返回,選單和HOME鍵的監聽
------網上找了很多資料,專案中使用,最後將經驗總結如下: 1,返回和選單鍵是可以直接重寫onKeyDown(int keyCode, KeyEvent event) 方法監聽: @Overridepublic boolean onKeyDown(int keyC
android 在fragment中如何監聽返回鍵,home鍵
在activity中用keydown很容易實現對返回鍵的監聽,但是這個函式不能再fragment中過載。 通過我嘔心瀝血的尋找,終於找到了解決辦法,對其他物理按鍵的監聽也同理。 Java程式碼 public class phonerecorder exten
JS使用 popstate 事件監聽物理返回鍵
function 事件監聽 bsp als ref listen hist inf UNC pushHistory(); window.addEventListener("popstate", function (e) { i
自定義webView,實現帶title和返回的webView,監聽webView的滑動事件
安卓webView介紹 WebView是基於webkit引擎展現web頁面的控制元件,它功能強大,除了具有一般View的屬性和設定外,還可以對url請求、頁面載入、渲染、頁面互動進行強大的處理。 We
android設定軟鍵盤搜尋鍵以及監聽搜尋鍵點選時發生兩次事件的問題解決
在輸入框中加入android:imeOptions="actionSearch",呼叫軟鍵盤時,回車鍵就會顯示搜尋二字。 我想在點選搜尋時,跳轉到下一個頁面,但是呼叫setOnKeyListener,每次都執行兩次。最後上網看到別人的文章,解決了問題,解決方法是呼叫se
Unity3D與Android專案互動中無法監聽back鍵返回的解決辦法
這兩天為解決unity3d與android專案整合中出現的無法監聽真機back實體鍵的問題找了很多資料,網上也有很多人遇到了這個問題,但是似乎都沒找到有效的解決方法。 實現的效果是從A_Activity跳轉到UnityPlayerNativeActi
cocos creator(十三)android平臺返回鍵的監聽實現
1、cocos creator打包成的apk如何實現返回鍵的監聽 我嘗試過這位大大的方法 在常駐節點上掛載的js中加入這段程式碼就可以。 if(cc.sys.os == cc.sys.OS_ANDR
[轉]addEventListener() 方法,事件監聽
傳遞參數 調用 參數 spa 默認 mouse 可選 als http 轉載 白楊-M http://www.cnblogs.com/baiyangyuanzi/p/6627401.html addEventListener() 方法,事件監聽 你可以使用 r
android開發 事件監聽
第一種:匿名內部類作為事件監聽器類 大部分時候,事件處理器都沒有什麼利用價值(可利用程式碼通常都被抽象成了業務邏輯方法),因此大部分事件監聽器只是臨時使用一次,所以使用匿名內部類形式的事件監聽器更合適,實際上,這種形式是目前是最廣泛的事件監聽器形式。上面的程式程式碼就是匿名內部類來建
js拼接的程式碼點選事件無響應,只需用這個事件監聽就通解決
通過js拼接的動態程式碼做類事件響應的時候,點選事件響應。 只需用這個事件監聽就通解決: $('body').on('click', '.but', function() { }) 拼接的程式碼如下: $page_str='<div dat
ionic v4 關於返回鍵監聽 (hardware back button)
android手機上的返回鍵,會自動的使路由後退。但少數時候我們可能不需要這個後退功能,希望自己監聽點選回退操作。 比如,想通過點選返回按鈕關閉一個modal,並且不想後退。 1.使用@HostListener 監聽ionBackButton事件 @HostListener('docume
Android開發20——單個監聽器監聽多個按鈕點選事件
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
事件監聽,回撥事件
一、事件監聽涉及到三個類物件 1、EventSource(事件源)事件發生的場所 2、Event(事件):事件封裝介面元件上面發生的特定事件 3、EventListener(事件監聽器):負責監聽事件源發生的事件 二、監聽器就是程式中的MyC
JS事件繫結,事件監聽,事件委託
在JavaScript的學習中,我們經常會遇到JavaScript的事件機制,例如,事件繫結、事件監聽、事件委託(事件代理)等。這些名詞是什麼意思呢,有什麼作用呢? 事件繫結 要想讓 JavaScript 對使用者的操作
通過點選事件監聽 setOnClickListener 徹底理解回撥-Android
前言 老司機們對於回撥肯定熟悉得不能再熟悉了,但是新司機可能還是一臉懵逼的,我比較笨,當年懵逼了好久,看夏安明的這一篇部落格地址,雖然下邊的留言都是,寫得好!懂了懂了!但是我當時看了三遍還是不懂好嗎 - -,現在我站在我的角度,用我理解的方式給大家講解回撥,我這麼笨都理解了,聰明的新司機們肯定也