Android中的BackKey按钮功能

时间:2012-02-27 04:49:13

标签: android eclipse

这是我的问题。每当我点击任何Android设备上的后退按钮时,应用程序会自动关闭。有什么办法可以让设备的后退按钮加载以前的活动吗?

以下是代码

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);
        }
}

2 个答案:

答案 0 :(得分:1)

尝试使用此...使用intent指定您的目标活动类名称。

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

答案 1 :(得分:1)

在Android中,当您按back button时,您转到上一个Activity,但在开发PhoneGap应用时,您正在处理单Activity(这就是按back按钮,应用程序关闭)。你需要实现自己的监听器,它将按back按键。

如何创建Android后退按钮处理程序:

phonegap 0.9.5及更高版本:

//这是你的app的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及更早版本:

//这是你的app的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