首页 > 代码库 > 微信小程序怎么确定是息屏、返回、还是Home键操作?

微信小程序怎么确定是息屏、返回、还是Home键操作?

我们公司在做一个客户端和小程序互相控制的小程序,两者都可以控制用户是否退出,因为安卓手机第一次扫码进来会触发onload方法,但是第二次扫码进入小程序,就直接进入到上次退出的界面,只会触发onShow方法,现在需求是只有扫码进来时才去请求登录接口,而亮屏操作不去请求接口,但是这两个操作目前找不到可以区分的点,现在很头疼。

之前想过通过监听返回键去识别,但是没找到监听返回键的方法,而且Home键操作也没办法识别到(Home键和返回键都可以认为是需要扫码获取到onload方法option里面的值这一类的,息屏是另一类);

后面想到 getCurrentPages()方法判断他的长度,结果在安卓中都是1;

但是后面偶然发现一种办法,就是在app.js里面的onHide方法里调一个接口,在complete里给全局变量mid赋值为88,在success里面赋值为55,结果息屏后台得到的mid为55,返回得到的为88(奇怪的是这个接口在后台没有打印请求的情况,感觉像是没调一样,但是我再进小程序mid已经改变了),但是解释不清楚这种情况所以不太敢这么判断,这是我目前找到的唯一一个可以判断的标识,但是老大觉得不清楚原因没有太理睬。。。(主要是安卓手机第二次扫码进去和开屏操作走的方法一样,不好判断处理)

A:单击隐藏图章关闭小程序(公共库版本1.1.0开始支持): 当用户从扫一扫、分享等入口(场景值为1007, 1008, 1011, 1025)进入小程序,且没有置顶小程序的情况下退出,小程序会被销毁。

微信6.5.7之前有这个问题,但是6.5.7版本不管上次是在哪个页面退出,小程序每次扫码进入都只会进入指定页面,并且获得onload里面的值,这样就可以区分扫码进入还是息屏还是搜索进入了。


微信小程序怎么确定是息屏、返回、还是Home键操作?