【LUA】更新提示蓝秦云版

粤桂航友 粤桂航友 关注 骨干
发表于只有源码版块 LUA
require "import"
import "android.app.*"
import "android.os.*"
import "android.widget.*"
import "android.view.*"
import "com.androlua.LuaWebView"
import "android.widget.LinearLayout"
import "android.net.Uri"
import "android.app.AlertDialog"
import "android.widget.TextView"

主题色=0xff88ada6
--设置状态栏颜色
this.window.setStatusBarColor(主题色)
--设置导航栏颜色
this.window.setNavigationBarColor(主题色)
xxx布局={
  LinearLayout,--线性布局
  layout_width="fill",--布局宽度
  layout_height="fill",--布局高度
  orientation="vertical",--布局方向

  {
    LinearLayout,--线性布局
    layout_width="fill",--布局宽度
    layout_height="35dp",--布局高度
    orientation="vertical",--布局方向
    backgroundColor=0xfffff9c4,--布局背景颜色
    visibility=8,--显示/隐藏控件
    id="页_通知栏",--控件ID
    {
      TextView,--文本框控件
      layout_width="fill",--布局宽度
      layout_height="fill",--布局高度
      layout_weight=1,--权重分配
      paddingLeft="12dp",--内←左距
      gravity="center|left",--全局重力
     -- text="发现新版本:1.1.3 → 1.1.4  点击查看详情 >>",--文本内容
      textSize="14sp",--文本大小
      textColor=0xff333333,--文本颜色
      id="页_通知栏_文本框",--控件ID
    },
  },


}
--加载布局
activity.setContentView(loadlayout(xxx布局))

function 页_获取版本(源码)
  local 格式1='<div class="mbx"><a href="(.-)" target="_blank" class="mlink"><img src="(.-)" align="absmiddle" border="0">(.-)<div class="mmr"><span>(.-)</span><span>(.-)</span>'
  local 链接,_,标题,大小,时间=源码:match(格式1)
  local 格式2='<span class="teta tetb">说</span>(.-)</div>'
  if 源码:match(格式2) and 链接 and 标题 and 大小 and 时间 then
    local 详情=源码:match(格式2):gsub("&gt;",">"):gsub("<br>","")
    local 拼链="https://"..页_更新域..链接
    return 标题,拼链,时间,大小,详情
  end
  return nil
end
function 页_过滤版本(标题)
  local 有点新=标题:gsub("[^%d%.]",""):gsub("%.$","")
  local 对比新=标题:gsub("%D","")
  local 获取=this.getPackageManager().getPackageInfo(this.getPackageName(),0).versionName
  local 有点旧=获取:gsub("[^%d%.]","")
  local 对比旧=获取:gsub("%D","")
  return 有点新,对比新,有点旧,对比旧
end
--获取源码
页_浏览器=LuaWebView(this)
页_浏览器.getSettings().setJavaScriptEnabled(true)
页_浏览器.setWebViewClient{
  onPageFinished=function(a,b)--网页加载完毕
    页_浏览器.evaluateJavascript("function getSource(){return \"<html>\"+document.getElementsByTagName('html')[0].innerHTML+\"</html>\";};getSource();",{
      onReceiveValue=function(源码)
        页_浏览器.stopLoading()--停止加载
        local 过滤=源码:gsub("%%","%%;"):gsub("\\\\n","%%n"):gsub("\\n","\n"):gsub("%%n","\\n"):gsub("%%;","%%"):gsub("\\u003C","<"):gsub("\\\"","\""):gsub("^\"",""):gsub("\"$","")
        if not 过滤 and not 过滤:find('<div class="mbx"><a href="') then
          print"错误-200,无法获取最新版本!"
          return
        end
        local 标题,链接,时间,大小,详情=页_获取版本(过滤)
        if not 标题 then
          print"错误-201,无法获取最新版本!"
          return
        end
        local 有点新,对比新,有点旧,对比旧=页_过滤版本(标题)
        --测试的时候是 < 小于, 用到自己程序需要 改成 > 大于
        if tonumber(对比新) < tonumber(对比旧) then
          页_通知栏_文本框.text="发现新版本:"..有点旧.." → "..有点新.."  点击查看详情 >>"
          页_通知栏.visibility=0
          --点击事件
          页_通知栏_文本框.onClick=function()
            local 内容="更新内容:\n"..详情.."\n\n文件名称:"..标题.."\n发布时间:"..时间.."\n文件大小:"..大小.."\n升级版本:"..有点旧.." → "..有点新.."\n"
            xxx对话框=AlertDialog.Builder(this)--对话框
            .setTitle("版本更新")--自定义标题
            .setMessage(内容)--自定义消息
            .setPositiveButton("下载安装包",function()--积极按钮
              print(链接)
              import "android.content.Intent"
              import "android.net.Uri"
            --  url=webView.getUrl()--Fa当前网页
              viewIntent = Intent("android.intent.action.VIEW",Uri.parse(链接))
              activity.startActivity(viewIntent)
            end)
            .setNegativeButton("取消",nil)--消极按钮
            .setNeutralButton("其他",nil)--中立按钮
            .show()--显示
            return true
          end
        end
      end
    })
  end
}

--开始检查版本
页_更新夹="https://yghy.lanzouw.com/b00ht16gf"
页_更新域=Uri.parse(页_更新夹).authority
页_浏览器.loadUrl(页_更新夹)

评论列表 评论
发布评论

评论: 【LUA】更新提示蓝秦云版

(0) 分享
分享
取消
免责声明

资源密码:yghy

本站资源,均来自网络,版权归原作者,所有资源和文章仅限用于学习和研究目的。
不得用于商业或非法用途,否则,一切责任由该用户承担!
您必须在下载后的24个小时之内,从您的电脑&手机中彻底删除下载的资源
资源失效,举报投诉,建议意见等,都可以来反馈。综合反馈


侵权删除请致信 E-Mail:yghyou@qq.com