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