NewsNing
NewsNing
  • 发布:2016-04-20 23:10
  • 更新:2018-10-15 10:57
  • 阅读:3898

安卓 双击返回键 返回桌面

分类:HTML5+

早就有了双击返回键退出程序的需求,现如今或许有些需求是要返回桌面,而不是退出程序,那么改一些就能实现功能:

(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));
2016-04-20 23:10 负责人:无 分享
已邀请:
周羊羊

周羊羊

thx~

买买

买买

返回手机桌面成功,谢谢!!

小新的狗叫小白

小新的狗叫小白

第一返回的时候有些慢,请问有办法解决吗?

  • 小新的狗叫小白

    var main = plus.android.runtimeMainActivity();先获取不写在返回事件中,第一次就不会卡了。

    2016-12-10 11:42

  • NewsNing (作者)

    回复 小新的狗叫小白: 我忘记更新这个帖了,我已经优化过了,用闭包缓存好main

    2016-12-13 12:42

2***@qq.com

2***@qq.com

老铁,这个可以的

菜鸡

菜鸡

赞一个,走起

该问题目前已经被锁定, 无法添加新回复