杨大宝
杨大宝
  • 发布:2018-08-28 14:24
  • 更新:2021-07-13 17:51
  • 阅读:12337

【劲爆、独家】拦截再按一次退出应用,改成单击back隐藏到后台

分类:uni-app

大家好,今天在给大家分享一下uniapp开发经验。关于常规的我就不说了。相信大家在开发的过程中难免会遇到需要APP后台运行的功能,这个使用5+就可以实现的。但是在uniAPP里面没有相关方法。
再一个就是“再按一次退出APP”的提示也是不支持修改的。但是作为一个“牛叉”的开发人员怎么能解决不了这些问题呢。所以我又投机取巧搞了个解决方案。供大家参考。
另外还是希望官方可以出相应方法,毕竟uniapp大家很看好。

解决思路:我们知道js的一个好处就是所有方法都可以载入后重写,那么既然官方没有修改的方法,我们就尝试重写
有人会问直接监听返回按钮并不能阻拦uniapp的退出提示啊。那么你跑偏了,其实很简单。
“再按一次退出APP” 的提示也是通过 5+ 的方法 plus.nativeUI.toast 实现的,我们只需要重写这个方法就ok了。下面看代码

let main = plus.android.runtimeMainActivity();  
//为了防止快速点按返回键导致程序退出重写quit方法改为隐藏至后台  
        plus.runtime.quit = function(){  
            main.moveTaskToBack(false);  
        };  
//重写toast方法如果内容为 ‘再按一次退出应用’ 就隐藏应用,其他正常toast  
        plus.nativeUI.toast = (function(str){  
            if(str == '再按一次退出应用'){  
                main.moveTaskToBack(false);  
                return false;  
            }else{  
                uni.showToast({  
                    title:str,  
                    icon:'none',  
                })  
            }  
        });

至此:就解决了,是不是很爽很轻松。有需要的话记得留言互动哦,谢谢大家鼓励和支持。

其他功能插件:
1、uniapp图片裁剪插件
2、swiper + scroll-view 实现下拉刷新

28 关注 分享
DCloud_heavensoft Trust Neil_HL jwenlee shwanYu 代码先生 Bear大熊 453979790 1***@qq.com 5***@qq.com 3***@qq.com Macking 世博 n***@qq.com asdasdsad 最光阴 1***@qq.com a***@11.com flyer456 无辜的蓝 z***@qq.com 1***@qq.com 那年冬天 SOOX 2***@qq.com t***@qq.com 6***@qq.com Charsen

要回复文章请先登录注册

6***@qq.com

6***@qq.com

厉害了,android没问题,亲测!
2021-07-13 17:51
b***@qq.com

b***@qq.com

回复 风云杭州 :
去用一下苹果手机的你就会知道,苹果没有返回按钮,所以没有两次返回退出之说。
2021-02-21 02:51
999

999

牛p
2020-12-25 12:47
凳子腿

凳子腿

感谢,用上了,非常实用!
2020-11-30 21:18
苍山暮色烟雨迟

苍山暮色烟雨迟

请问你们都写在哪个文件呢
还是用mixins全局注入
2020-09-04 10:32
1***@qq.com

1***@qq.com

浏览器webview的下载提示框是不是也可以这么处理啊
2020-08-21 14:31
风云杭州

风云杭州

苹果怎么实现呢
2020-08-06 14:19
giao233

giao233

回复 asdasdsad :
大哥写那里?
2020-07-06 15:10
码上啥都有

码上啥都有

可以可以 很强势
我写在index里也可以用
2020-06-17 16:23
asdasdsad

asdasdsad

回复 asdasdsad :
已解决
2020-05-12 13:47