backbutton.js
1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// 解决 关于HBuilder X打包的APP按返回键退出的问题
document.addEventListener('plusready', function() {
var first = null;
const webview = window.plus.webview.currentWebview();
//自定义运行期返回
const main = plus.android.runtimeMainActivity();
//返回后台,但是不退出应用
plus.runtime.quit = function() {
main.moveTaskToBack(false);
};
//监听返回按键
plus.key.addEventListener("backbutton", function() {
//监听webview窗口是否可以返回
webview.canBack(function(e) {
if(e.canBack) {
//可以返回返回上一页面
// plus.navigator.back();
webview.back();
} else {
//不可以返回
//处理逻辑:2秒内,连续两次按返回键,则退出应用;
//首次按键,提示再按一次退出应用
if (!first) {
first = new Date().getTime();
//通过H5+ API 调用Android 上的toast 提示框
plus.nativeUI.toast('再按一次退出应用', {
duration: 'short'
});
setTimeout(function() {
first = null;
}, 2000);
} else {
if (new Date().getTime() - first < 2000) {
plus.runtime.quit();//退出app
}
}
}
});
}, false);
});