我正在开发 Phonegap 2.7.0 + Android 应用程序。
问题是当我在我的应用程序的 index.html 页面上并按下设备的后退按钮时,它会启动启动画面并重新启动应用程序。
问问题
1341 次
4 回答
4
在 Phonegap 方面,您可以将处理程序函数附加到后退按钮,如下所示:
function exitApp() {
console.log("Exiting app");
navigator.app.exitApp();
}
function onPressBack(e) {
e.preventDefault();
navigator.notification.confirm("Are you sure you want to quit?", function(result){
if(result == 2){
exitApp();
}
}, 'Quit My App', 'Cancel,Ok');
}
function deviceready() {
$(document).bind('backbutton', onPressBack);
}
$(document).bind('deviceready', deviceready);
如果您使用 jQuery Mobile 进行分页,您可以跟踪它是否是显示的第一页,因此是否显示退出对话框 - 请参阅我对这个问题的回答
于 2013-06-27T06:38:04.373 回答
2
您应该调用finish()
或this.finish()
调用该startActivity(intent)
方法之后。
像这样的东西:
Intent intent = new Intent(currentActivity.this, activityToBeCalled.class) ;
startActivity(intent) ;
finish() ;
于 2013-06-27T06:28:43.563 回答
1
finish()
在启动屏幕活动中使用
于 2013-06-27T06:25:51.787 回答
1
@Override
protected void onPause()
{
// TODO Auto-generated method stub
super.onPause();
finish();
}
将此事件添加到您的启动活动类。
编辑:您可以通过右键单击并遵循“Source->Overwrite/Implements Methods...”来添加活动事件。
http://developer.android.com/images/activity_lifecycle.png
然后您应该将此事件添加到您的 webview 活动中
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return super.onKeyDown(keyCode, event);
// do not finish app use webview controls to go preview webpage.
}
于 2013-06-27T06:28:10.503 回答