functiondeleteMedia(type) local uri iftype == "image"then print("正在清理图片") uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI end iftype == "vedio"then print("正在清理视频") uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI end ...... end
functiondeleteMedia(type) local uri local Type iftype == "image"then Type = "图片" uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI end iftype == "vedio"then Type = "视频" uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI end local contentResolver = activity.getContentResolver() local rowsDeleted = contentResolver.delete(uri, nil, nil) print(tostring(rowsDeleted).."个"..Type..清理完成) end
local contentResolver = activity.getContentResolver() 获得了当前活动的内容解析器(Content Resolver)。内容解析器是一个接口,提供对应用程序内数据的访问。
local rowsDeleted = contentResolver.delete(uri, nil, nil):使用内容解析器删除指定 URI 的数据。
functiondeleteMedia(type) local uri local Type iftype == "image"then print("正在清理图片") Type = "图片" uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI end iftype == "vedio"then --print("正在清理视频") Type = "视频" uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI end local contentResolver = activity.getContentResolver() local rowsDeleted = contentResolver.delete(uri, nil, nil) print(tostring(rowsDeleted).."个"..Type.."清理完毕") end
imgclean.onClick=function() deleteMedia("image") end movclean.onClick=function() deleteMedia("vedio") end
--Android动态权限申请,回调和检查 --权限的申请应当遵循“谁需要,谁申请”,权限通过则执行,不通过则不执行 --既不应该一启动就全申请,也不应该申请不应需要的权限 --假设有某个需求需要权限 functionfun() print("某个需要权限的操作") end --定义请求码 local permissionRequestCode = 10 --申请权限 functionrequestPermissions(permissions, requestCode) local ActivityCompat = luajava.bindClass "androidx.core.app.ActivityCompat" return ActivityCompat.requestPermissions(activity, permissions, requestCode); end --申请权限的回调在这里执行 onRequestPermissionsResult=function(requestCode, permissions, grantResults) local PackageManager = luajava.bindClass "android.content.pm.PackageManager" --判断是不是自己的权限申请 if requestCode==permissionRequestCode then local count = 0 local Manifest = luajava.bindClass "android.Manifest" for i=0,#permissions-1do if grantResults[i] == PackageManager.PERMISSION_GRANTED then --print(permissions[i].."权限通过") count = count + 1 --假如需要的权限被通过了 if permissions[i]==Manifest.permission.READ_EXTERNAL_STORAGE then fun() end else --print(permissions[i].."权限拒绝") if permissions[i]==Manifest.permission.READ_EXTERNAL_STORAGE then print("执行fun()需要的权限未通过") end end end print("申请了"..#permissions.."个权限,通过了"..count.."个权限") end end --示例 --要申请的权限列表,请写成常量以免自己写错 --所有的权限常量定义在Manifest的内部类permission里,写法如下 local Manifest = luajava.bindClass "android.Manifest" --以储存权限为例 local requirePermissions = { Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE } --发起请求 requestPermissions(requirePermissions, permissionRequestCode) --检查权限 functioncheckPermission(permission) return0==activity.checkSelfPermission(permission) end --单纯检查一下有没有指定权限 local flag = checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) print("WRITE_EXTERNAL_STORAGE检查结果"..tostring(flag))
import "java.lang.*","java.util.*" import "android.os.*","android.app.*" import "android.content.*","android.provider.*" activity { Title = res.string.app_title, ContentView = res.layout.main } --Android动态权限申请,回调和检查 --权限的申请应当遵循“谁需要,谁申请”,权限通过则执行,不通过则不执行 --既不应该一启动就全申请,也不应该申请不应需要的权限 --假设有某个需求需要权限 functionfun() print("某个需要权限的操作") end --定义请求码 local permissionRequestCode = 10 --申请权限 functionrequestPermissions(permissions, requestCode) local ActivityCompat = luajava.bindClass "androidx.core.app.ActivityCompat" return ActivityCompat.requestPermissions(activity, permissions, requestCode); end --申请权限的回调在这里执行 onRequestPermissionsResult=function(requestCode, permissions, grantResults) local PackageManager = luajava.bindClass "android.content.pm.PackageManager" --判断是不是自己的权限申请 if requestCode==permissionRequestCode then local count = 0 local Manifest = luajava.bindClass "android.Manifest" for i=0,#permissions-1do if grantResults[i] == PackageManager.PERMISSION_GRANTED then --print(permissions[i].."权限通过") count = count + 1 --假如需要的权限被通过了 if permissions[i]==Manifest.permission.READ_EXTERNAL_STORAGE then fun() end else --print(permissions[i].."权限拒绝") if permissions[i]==Manifest.permission.READ_EXTERNAL_STORAGE then print("执行fun()需要的权限未通过") end end end print("申请了"..#permissions.."个权限,通过了"..count.."个权限") end end --示例 --要申请的权限列表,请写成常量以免自己写错 --所有的权限常量定义在Manifest的内部类permission里,写法如下 local Manifest = luajava.bindClass "android.Manifest" --以储存权限为例 local requirePermissions = { Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE } --发起请求 requestPermissions(requirePermissions, permissionRequestCode) --检查权限 functioncheckPermission(permission) return0==activity.checkSelfPermission(permission) end --单纯检查一下有没有指定权限 local flag = checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) print("WRITE_EXTERNAL_STORAGE检查结果"..tostring(flag))
functiondeleteMedia(type) local uri local Type iftype == "image"then print("正在清理图片") Type = "图片" uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI end iftype == "vedio"then --print("正在清理视频") Type = "视频" uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI end local contentResolver = activity.getContentResolver() local rowsDeleted = contentResolver.delete(uri, nil, nil) print(tostring(rowsDeleted).."个"..Type.."清理完毕") end imgclean.onClick=function() deleteMedia("image") end movclean.onClick=function() deleteMedia("vedio") end