Fusion app解决安卓8以上首页面长按卡死问题【原创】

前言
截至2018年6月17日fusionapp首页面安卓8手机长按都会卡死
那么如何从用户方面来解决这个问题呢?
经过测试只有首页面长按会卡死,子页面并不会……
所以我就有个思路,用子页面代替掉首页面,避开bug区域

具体操作如下:

步骤一:
在首页面的启动项里面加入

退出页面()
进入子页面("伪装首页")

这样用户打开app后直接就跳到子页面了,看不到首页
【如果你首页面用的和我一样都是标签栏模板,请务必在组件标签栏项目保留至少一项,不要全部删除,全部删除会报错哈】

步骤二:
建一个子页面,名字为“伪装首页”,然后在这个伪装首页的启动项里面加入

shijian=0
function onKeyDown(code,event)
  if string.find(tostring(event),"KEYCODE_BACK") ~= nil then
    if shijian+2 > tonumber(os.time()) then 
      退出程序()
    end
    弹出消息("再按一下退出键退出程序")
    shijian=tonumber(os.time())
    return true
  end
end

因为首页面点击两次返回键会退出程序,而“伪装首页”没这个功能,所以启动项里面加上这个,伪装成何首页一样的效果

步骤三:
在“伪装首页”中设计你的首页面即可哈,如果要程序启动图的话,在原本的首页上开启启动图功能就行,代码不会影响启动图功能的。

总结下
其实这个解决方案几个月前我就弄出来了,当时直接用到自己做的博客客户端上了,然后源码也发fusionapp群里了,今天比较无聊,就把这一块的代码抽出来,写个文章哈。

已有 11 条评论
  1. 蚂蚁
    蚂蚁回复

    大佬,感谢分享。使用代码后,无论子页面是初始页面还是已经跳转了多个链接,按返回键都会执行退出命令,正常的返回功能不可用。请问能不能完善下代码,添加个核对初始页面的条件?

    1. 泽泽社长

      蚂蚁 只是在假首页里填入那个代码,正常首页返回键功能应该照常才对啊

  2. langye
    langye回复

    空白模板无法弹出选项框,一点击就卡死了,有解决办法吗?因为我的是webapp已经有底栏和顶栏了,所以空白模板看起来比较舒服一点。

  3. c0sMx

    (原创hhh

    1. Jrotty

      c0sMx 方式方法上确实挺无聊的哈

  4. 于长野

    然后问下,测栏长按进入后台是怎么做到的?_(:з」∠)_

    1. Jrotty

      于长野 fusionapp群,一群二群里都有我写的demo,或者你直接用mt编辑器d打开apk里面有table后缀的文件,里面有代码

  5. 于长野

    这个我也研究过,不过还是没研究透彻,有的时候首界面长按不会触发,有时候又会触发了…排除法找了很久,还是不太清楚。最后用了比较折中的方法,在首页全局js加入代码document.onselectstart = document.oncontextmenu = document.onmousedown = document.onkeydown = function(){return false;}禁止了长按菜单。

    1. Jrotty

      于长野 我还是觉得我的这个方式比较好一点哈

  6. 大梅
    大梅回复

    大佬,app中点击文章跳转到子页面你是怎么做到的?

    1. Jrotty

      大梅 fusionapp作者发布了两个视频教程,第二个就讲的是这个跳转,你去可以看下