// =========================PhoneGap==================================
// 等待加载PhoneGap
document.addEventListener("deviceready", onDeviceReady, false)
// PhoneGap加载完毕
function onDeviceReady() {
// 按钮事件
document.addEventListener("backbutton", eventBackButton, false)// 返回键
}
// 返回键
function eventBackButton() {
if($(".classobj").is(":visible")){
alert('再点击一次退出!')
document.removeEventListener("backbutton", eventBackButton, false)// 注销返回键
document.addEventListener("backbutton", exitApp, false)//绑定退出事件
// 3秒后重新注册
var intervalID = window.setInterval(function() {
window.clearInterval(intervalID)
document.removeEventListener("backbutton", exitApp, false)// 注销返回键
document.addEventListener("backbutton", eventBackButton, false)// 返回键
}, 3000)
}else {
//navigator.app.backHistory()
}
}
function exitApp(){
navigator.app.exitApp()
}
</script>
在flutter开发过程中,发现Android手机在App首页点击物理返回按钮时,App会退出并且再次点开App时会重新启动,这代表了上次的退出直接杀死了App,和我们平常的退到手机桌面不同,所以开发了一个单独插件来处理这种情况。
使用步骤如下:
1、pubspec.yaml文件中引入依赖
2、引用插件
3、使用插件来退出App到桌面,并且保持App后台运行
可根据实际情况在_onWillPop方法中处理相关逻辑,比如连续两次点击物理返回按钮才退出到桌面等。