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

代码相关 安卓 app 客户端 web fusion app 2018-06-17

前言
截至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群里了,今天比较无聊,就把这一块的代码抽出来,写个文章哈。

16条评论

    Summer

    你好,在百度搜索到您还可以留言真的很开心,目前我遇到这样的问题:我想实现返回两次或者三次提示退出弹窗,因为如果不这样设置我打开太多页面的话会出现很多很多返回,才会弹出退出弹窗,希望大佬能不吝赐教,期盼回复 。
    -------Summer

    游客 Windows10 48天前回复

      泽泽社长
      @Summer

      看步骤二,步骤二是点击返回按键两次退出窗口,如果你想3次把代码中2改成3即可

      作者 MacOS 48天前回复

        Summer
        @泽泽社长
        appinfo=this.getPackageManager().getApplicationInfo(this.getPackageName(),0)
        applabel=this.getPackageManager().getApplicationLabel(appinfo)
        function onKeyDown(key,event)
          if(key==4)then
            if(webView.canGoBack())then 
              webView.goBack()
            else
              退出确认=对话框()
              .设置标题("提示")
              .设置消息("您确定要退出 "..applabel.." 吗?")
              退出按钮={
                [1]=function()
                  退出确认
                  .设置积极按钮("确定",function()
                    执行Shell("rm -rf /data/data/"..this.packageName.."/cache/")
                    执行Shell("rm -rf /data/user/0/"..this.packageName.."/cache/")
                    执行Shell("rm -rf /data/data/"..this.packageName.."/files/data/")
                    执行Shell("rm -rf /data/user/0/"..this.packageName.."/files/data/")
                    执行Shell("rm -rf /sdcard/Android/data/"..this.packageName.."/files/VideoCache/main/")
                    执行Shell("rm -rf /storage/emulated/0/Android/data/"..this.packageName.."/files/VideoCache/main/")
                    退出页面()
                  end)
                  .设置中立按钮("清空数据",function() 
                    对话框()
                    .设置标题("提示")
                    .设置消息("您确定要清空 "..applabel.." 的全部数据吗?")
                    .设置积极按钮("确定",function()
                      os.execute("pm clear "..this.packageName)
                      退出页面()
                    end)
                    .设置消极按钮("取消")
                    .显示()
                  end)
                  .设置消极按钮("取消")
                end}
              math.randomseed(tonumber(tostring(os.time()):reverse():sub(1, 6)))
              退出按钮[math.random(1,1)]()
              退出确认.show()
            end
            return true
          end
        end

        这是我的app退出代码,我想实现实际页面返回二次或者三次提示退出怎么修改呢

        游客 安卓派 48天前回复

        Summer
        @泽泽社长

        我复制代码到程序启动里面开头。没效果,是我操作有问题吗

        游客 安卓派 48天前回复

          泽泽社长
          @Summer

          我不清楚怎么和你的代码融合,我一年多没玩fasionapp了,你可以单独建立个项目实验代码的有效性,然后再考虑怎么和自己的代码融合起来

          作者 MacOS 48天前回复

    蚂蚁

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

    游客 安卓奥利奥 184天前回复

      泽泽社长
      @蚂蚁

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

      作者 Windows7 184天前回复

    langye

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

    游客 Windows10 318天前回复

    c0sMx

    (原创hhh

    游客 Windows7 480天前回复

      Jrotty
      @c0sMx

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

      作者 Windows10 480天前回复

    于长野

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

    游客 489天前回复

      Jrotty
      @于长野

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

      作者 Windows10 489天前回复

    于长野

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

    游客 489天前回复

      Jrotty
      @于长野

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

      作者 Windows10 489天前回复

    大梅

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

    游客 489天前回复

      Jrotty
      @大梅

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

      作者 Windows10 489天前回复

智能推荐