Cordova Android 返回鍵攔截(backbutton)和退出(再點選一次跳出)
在Android原生webview裡重寫onBackPressed()就可以。
@Override
public void onBackPressed() {
super.onBackPressed();
}
但在CordovaWebView裡已經被cordovawebview處理掉了,重寫onBackPressed()沒用。
注意:但onBackPressed()方法在最後一個頁面會實現,所以要在最後主頁面實現點擊出現再點選一次退出,在這處理是可以的。
程式碼如下:
@Override public void onBackPressed() { LogUtils.LogUtils(".............onBackPressed..............."); if (webView.canGoBack()){ webView.goBack(); }else { exit(); } } // 定義一個變數,來標識是否退出 private static boolean isExit = false; Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); isExit = false; } }; private void exit() { if (!isExit) { isExit = true; Toast.makeText(getApplicationContext(), R.string.exit_again, Toast.LENGTH_SHORT).show(); // 利用handler延遲傳送更改狀態資訊 mHandler.sendEmptyMessageDelayed(0, API.HANDLER_MAIN); } else { super.onBackPressed(); ClearCacheUtils.cleanDatabases(MainActivity.this); //暫時可以清楚快取,當涉及到儲存使用者賬戶密碼時一定要關閉 finish(); } }
關於在網頁中攔截處理也是可以。
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// device APIs are available
//
function onDeviceReady() {
// Register the event listener
document.addEventListener("backbutton" , onBackKeyDown, false);
}
// Handle the volume up button
//
function onBackKeyDown() {
goback();
cordova.save.save();
}
function goback() {
setTimeout(function () {
history.go(-1);
}, 200);
}
注意:使用了網頁的攔截後onBackPressed()方法就徹底不能用了,所以,用了攔截的再點一次退出就在攔截裡處理吧
相關推薦
Cordova Android 返回鍵攔截(backbutton)和退出(再點選一次跳出)
在Android原生webview裡重寫onBackPressed()就可以。 @Override public void onBackPressed() { super.onBackPressed(); } 但在Cord
Android--實現點選一次返回鍵返回桌面而不是退出應用
點選一次返回鍵的時候不是退出應用而是返回到桌面,比如像QQ和微信等聊天軟體,在主介面點選返回鍵的時候不是退出應用而是返回到桌面,那麼怎麼能夠實現這種需求呢?其實也很簡單,只需要重寫onKeyDown(
25.cocos2d-x物理引擎(每點選一次螢幕新增一個小球)
HelloWorldScene.h檔案: #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" USING_NS_CC; class Hell
進度條(點選一次進一點,意思是後臺傳入一個數就進度就多一點)
<!DOCTYPE"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>進度條</title> <style type="text
cocos2dx之WebView踩過的坑(android返回鍵處理問題)
lib mar 是否 12px blog tex clas ons 測試的 最近遊戲接入了一個私服平臺,由於沒有sdk,所以支付相關的操作需要在網頁端進行,也就是說點擊充值需要在遊戲內部彈出一個網頁,並定位到平臺充值的地址。查閱相關資料後決定使用cocos2dx自帶的W
Flutter學習筆記(26)--返回攔截WillPopScope,實現1秒內點選兩次返回按鈕退出程式
如需轉載,請註明出處:Flutter學習筆記(26)--返回攔截WillPopScope,實現1秒內點選兩次返回按鈕退出程式 在實際開發中,為了防止使用者誤觸返回按鈕導致程式退出,通常會設定為在1秒內連續點選兩次才會退出應用程式。Android中一般的處理方式是在onKeyDown方法內做計時處理,當keyC
SpringMVC的攔截器(Interceptor)和過濾器(Filter)的區別與聯系
get err 實例 分享 切面 簡介 () lee XML 一 簡介 (1)過濾器: 依賴於servlet容器。在實現上基於函數回調,可以對幾乎所有請求進行過濾,但是缺點是一個過濾器實例只能在容器初始化時調用一次。使用過濾器的目的是用來做一些過濾操作,獲取我們想要獲取
Android 在fragment中實現返回鍵單擊提醒 雙擊退出
make listener 一次 time lean 適配器 == sea dagger2 嘗試用mvp架構加dagger2來重寫了一下,大致功能都實現了,還沒有全部完成。 項目地址 接近完成的時候,想在天氣信息頁面實現一個很常見的功能,也就是點擊屏幕下方的返回鍵的時
過載(Overload)和重寫(Override)的區別。過載的方法能否根據返回型別進行區分?
方法的過載和重寫都是實現多型的方式,區別在於前者實現的是編譯時的多型性,而後者實現的是執行時的多型性。過載發生在一個類中,同名的方法如果有不同的引數列表(引數型別不同、引數個數不同或者二者都不同)則視為過載;重寫發生在子類與父類之間,重寫要求子類被重寫方法與父類被重寫方法有相同的返回型別,比父類被重
spring中過濾器(filter)、攔截器(interceptor)和切面(aop)的執行順序
1.程式執行的順序是先進過濾器,再進攔截器,最後進切面。注意:如果攔截器中preHandle方法返回的為false時,則無法進入切面,例子如下 @RestController @RequestMapping("/user") public class UserController {
Android開發實現點選兩次返回鍵實現退出功能
在使用android平臺的app是我們經常會發現點選兩次返回鍵會提示是否 退出的功能,下面講講此功能是如何實現的(此方法比較簡單) 第一種方法是對系統返回鍵進行監聽,定義一個變數記錄按鍵時間,通過計算時間差來實現該功能,程式碼如下: //退出時的時間 private long mExitTime;
攔截器(Interceptor)和過濾器(Filter)的執行順序和區別
一、引言 本來想記錄一下關於使用者登陸和登陸之後的許可權管理、選單管理的問題,想到解決這個問題用到Interceptor,但想到了Interceptor,就想到了Filter,於是就想說一下它們的執行順序和區別。關於Interceptor解決許可權和選單管理的問題,在放
Android安全/開發基礎--10--圖形介面(UI)和碎片(Fragment)(上)
10-1、View理論 View的事件體系 View是Android中所有控制元件的基類。ViewGroup是控制元件組,內部包含了許多控制元件。 view的四個位置屬性:top、left、right、bottom MotionEvent:手指接觸屏幕後產生的
Android安全/開發基礎--11--圖形介面(UI)和碎片(Fragment)(下)
10-9、UI fragment與fragment管理器 採用fragment而不是activity來管理應用UI,可繞開Android系統activity使用規則的限制。fragment是一種控制器物件,activity可委派它執行任務。這些任務通常就是管理使
Android 返回鍵直接返回桌面---不關閉頁面
比如網易雲音樂的返回按鈕---不關閉頁面---直接返回到桌面還有類似於QQ的//設定返回按鈕:不應該退出程式---而是返回桌面 //複寫onKeyDown事件 @Override public boolean onKeyDown(int keyCode
ionic框架對Android返回鍵的處理
在HybridApp移動跨平臺開發中,android平臺會遇到一些比較特殊並難以解決的問題,這些問題在原生應用開發中很easy, Android的返回鍵處理就是問題之一,假如我們要實現一個在很多App中都有的在主頁按返回鍵彈出對話方塊提示使用者退出應用的功能,
加速鍵 (Accelerator)和 熱鍵(HotKey) [轉]
加速鍵 (Accelerator)和 熱鍵(HotKey) 加速鍵 和 熱鍵 是兩種不同的快捷鍵(我這裡暫且把它們都稱為快捷鍵,而其他人可能只把後者稱為快捷鍵。)應儘量避免衝突。 加速鍵 (Accelerator) 一種是直接與選單項關聯的加速鍵 另一種就是自定義的加
Android返回鍵後臺程式不退出
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { // 過濾按鍵動作 if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { mo
【android基礎】之Android返回鍵處理(事件)
public class SenseSoccerScoreActivity extends Activity { public boolean onKeyDown(int keyCode, KeyEvent event) { // 如果是返回鍵,直接返回到桌面 //
Android assets資料夾之位置放置和作用( AS 和eclipse中的 )
Android 的assets資料夾的放置位置,Eclipse建立專案時就生成了的,Android Studio則不太一樣,AS可以包含幾種方式, 1:可以在build.gradle檔案下配置,加如下程式碼 " sourceSets { main { assets.srcDirs = ['src/ass