如何在Android中使用Phonegap处理Jquery移动设备后退按钮?

时间:2012-10-02 07:17:17

标签: android cordova jquery-mobile

我正在使用jQuery Mobile和Phonegap开发一个Android应用程序。现在,当我登录到应用程序时,它会向我显示搜索一些员工。在此屏幕中,我想要处理设备后退按钮。目前,如果我按下后退按钮,它将从应用程序注销。但是,我想最小化应用程序。这意味着,它不应该退出。只是我们将应用程序发送到后台(类似于facebook android app的东西)。我尝试使用以下代码处理此问题:

<script type="text/javascript">
            $(document).ready(function() {
document.addEventListener("backbutton", function(e) {
                    alert("ready");
                    navigator.app.exitApp();
                });
            });
        </script> 

这是我的清单文件:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.innominds.myspace"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="7"
    />

     <uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.HARDWARE_TEST" />
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.BROADCAST_STICKY" />

    <application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
             android:configChanges="orientation|keyboardHidden" android:screenOrientation="portrait">
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

但是当我按下后退按钮时,它也没有显示警报。我正在使用cordova 2.0和jquery.mobile-1.1.1.js。

我从herehere获得了一些帮助和参考。

任何人都可以帮助我..

3 个答案:

答案 0 :(得分:0)

<a href="#" data-rel="back" data-transition="slide" data-direction="reverse">
   Back
</a>

以编程方式:

$("#buttonId").attr('href','index.html');

您还可以更改按钮标题及其动作运行时间。

答案 1 :(得分:0)

如果您在AndroidManifest.xml中指定了target-SDK,请删除该条目并尝试使用。

答案 2 :(得分:0)

您错过了在html页面中添加cordova.js文件路径。有时此文件不会自动添加到html页面中,因此请手动添加,然后重试。

如果这不起作用删除android平台并再次添加并再次添加所有插件,仅为android构建项目并运行您的问题肯定会得到解决。