早就有了双击返回键退出程序的需求,现如今或许有些需求是要返回桌面,而不是退出程序,那么改一些就能实现功能:
(function($){
var old_back = $.back;
var backButtonPress = 0;
$.back = function(event) {
backButtonPress++;
if (backButtonPress > 1) {
//退出程序
//plus.runtime.quit();
//返回桌面(后台)
var main = plus.android.runtimeMainActivity();
main.moveTaskToBack(false);
} else {
plus.nativeUI.toast('再按一次返回桌面');
}
setTimeout(function() {
backButtonPress = 0;
}, 2000);
return false;
};
}(mui));
所以,主要实现后台的功能在于这一句代码,
var main = plus.android.runtimeMainActivity();
main.moveTaskToBack(false);
大家可以巧妙的运用之
----------------------2016双12-----------------------
很多同学反映有时候反应会慢,是因为每次双击返回的时候都重新获取了一次main,所以在这里贴上已经优化的,原理是利用闭包缓存好main
(function($) {
var main,
backButtonPress = 0;
$.plusReady(function(){
main = plus.android.runtimeMainActivity();
});
$.back = function() {
backButtonPress++;
if (backButtonPress > 1) {
//退出
//plus.runtime.quit();
//后台
main && main.moveTaskToBack(false);
} else {
plus.nativeUI.toast('再按一次返回桌面');
}
setTimeout(function() {
backButtonPress = 0;
}, 1000);
return false;
};
}(mui));
5 个回复
周羊羊
thx~
买买
返回手机桌面成功,谢谢!!
小新的狗叫小白 - 小新的狗叫小白
第一返回的时候有些慢,请问有办法解决吗?
小新的狗叫小白
var main = plus.android.runtimeMainActivity();先获取不写在返回事件中,第一次就不会卡了。
2016-12-10 11:42
NewsNing (作者)
回复 小新的狗叫小白: 我忘记更新这个帖了,我已经优化过了,用闭包缓存好main
2016-12-13 12:42
2***@qq.com
老铁,这个可以的
菜鸡
赞一个,走起