02-05-2025 10:27 AM
function install(path, uri)
local intent = Intent(Intent.ACTION_VIEW)
local ext = "apk"
if path:find("^/sdcard/Android/data") or path:find("^/storage/emulated/0/Android/data") then
uri = getDocumentUri(path)
end
if uri == nil then
local file = File(path)
local filename = file.name
ext = filename:match(".+%.(.+)$")
if Build.VERSION.SDK_INT >= 24 then
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
uri = FileProvider.getUriForFile(activity, packageName, file)
else
uri = Uri.fromFile(file)
end
else
if Build.VERSION.SDK_INT >= 24 then
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
end
end
intent.setDataAndType(uri, MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext))
intent.setPackage("com.android.packageinstaller")
activity.startActivity(intent)
end