2012-02-27 42 views
1

這是我的問題。每當我點擊任何Android設備上的後退按鈕時,應用程序會自動關閉。有沒有什麼辦法可以讓設備的後退按鈕加載之前的活動?Android中的BackKey按鈕功能

這裏是代碼

package com.phonegap.mobilemone; 
import com.phonegap.DroidGap; 
import android.content.Context; 
import android.view.inputmethod.InputMethodManager; 
import android.webkit.WebView; 

public class KeyBoard { 

       private WebView mAppView; 
       private DroidGap mGap; 

       public KeyBoard(DroidGap gap, WebView view) 
       { 
           mAppView = view; 
           mGap = gap; 
       } 

       public void showKeyBoard() { 
           InputMethodManager mgr = (InputMethodManager)  mGap.getSystemService(Context.INPUT_METHOD_SERVICE); 
           // only will trigger it if no physical keyboard is open 
           mgr.showSoftInput(mAppView, InputMethodManager.SHOW_IMPLICIT); 
            
           ((InputMethodManager)  mGap.getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(mAppView, 0); 

       } 
        
       public void hideKeyBoard() { 
           InputMethodManager mgr = (InputMethodManager)  mGap.getSystemService(Context.INPUT_METHOD_SERVICE); 
           mgr.hideSoftInputFromWindow(mAppView.getWindowToken(), 0); 
       } 
} 
+0

謝謝@Chirag,一直有一個很難做到這一點,謝謝:) – 2012-02-27 05:19:03

+0

你應該接受答案,如果他們沒事的話 – 2012-02-29 13:01:01

回答

1

在Android中,當您按下back button你去以前Activity,但是,開發PhoneGap應用程序時,你是單Activity工作(這是什麼原因,當你按下按鈕back,應用靠攏)。你需要實現你自己的聽衆,這將聽back按鍵。

如何創建Android的後退按鈕處理程序:

的PhoneGap 0.9.5及更高版本:

//這是你的應用程序的init方法。這裏有一個如何使用它

function init() { 
    document.addEventListener("deviceready", onDR, false); 
} 
function onDR(){ 
    document.addEventListener("backbutton", backKeyDown, true); 
    //boot your app... 
} 
function backKeyDown() { 
    // do something here if you wish 
    // alert('go back!'); 
} 

的PhoneGap 0.9.4和較早的例子:

//這是你的應用程序的init方法。這裏有一個如何使用它

function init() { 
    document.addEventListener("deviceready", onDR, false); 
} 
function onDR(){ 
    BackButton.override(); 
    document.addEventListener("backKeyDown", backKeyDown, true); 
    //boot your app... 
} 
function backKeyDown() { 
    // do something here if you wish 
    // alert('go back!'); 
} 

下面是引用一個例子:

Back button handler

CATCHING ANDROID’S BACK BUTTON IN PHONEGAP

+0

謝謝@Pankaj。 – 2012-02-29 23:50:33

1

嘗試用這種...使用意圖指定回合目標活動類的名稱。

@Override 
public void onBackPressed() { 
    Intent BackpressedIntent = new Intent(); 
    BackpressedIntent .setClass(getApplicationContext(),TargetActivity.class); 
    startActivity(BackpressedIntent); 
    finish(); 
} 
+0

你指的是我的目標活動類名是什麼意思?對不起,我是新手,但謝謝。 – 2012-02-27 05:16:13