使用autojs刷新android目录文件的5种方法,java代码转换为autojs代码,某音自动发布视频

业务需求

在一个某音发布作品脚本中,需要先下载一个mp4视频到手机的SD卡中,然后打开某音,载入该视频进行上传发布。
但是测试的过程中,发现一个问题需要解决。那就是视频下载成功后,某音里并不能读取到该视频。 尝试重启手机,再打开某音,发现某音已经可以从SD卡中读取到下载好的视频。
那么这个问题,初步判断为,文件下载后,文件或目录没有刷新导致的。
下面就要使用autojs解决文件的刷新问题。

解决思路

首先百度搜索“安卓 刷新”,发现都是一些不相关的结果
file

这时,我们尝试换一个关键词,搜索“android 刷新目录”,发现还是没有中意的结果
file

怎么办呢?继续换关键词,搜索“android 刷新SD”
file

温馨提示:此处内容需要后才能查看!

Intent scanIntent = new Intent("android.intent.action.MEDIA_SCANNER_SCAN_FILE");
scanIntent.setData(Uri.fromFile(new File(FileUtil.DIR))); // DIR 替换为你想要刷新的目录
sendBroadcast(scanIntent);

显然,这段代码并不能在autojs中直接使用。但是,autojs的文档里说了:

由于Auto.js支持直接调用Android的API,对于Auto.js没有内置的函数,可以直接通过修改Android代码为JavaScript代码实现。

下面我们将这段java代码,翻译、修改为autojs可用的代码。
翻译后的代码,已经上传到附件里,文件名为“代码片段1.js”,可以在文章的右侧下载。

接下来看第二篇文章里的代码:

/**
     * 扫描内存卡  刷新保存文件
     */
    fun sdScan(file: File) {
        val intent = Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE)
        val uri = Uri.fromFile(file)
        intent.data = uri
        sendBroadcast(intent)
    }

这段代码是将刷新功能,封装在一个函数里。我们借鉴这个思路,将前面翻译的代码进行加工和封装。 修改后的代码,已经上传到附件里,文件名为“代码片段2.js”,可以在文章的右侧下载。

最后,飞云提供两种极简的代码。一行代码,就能刷新android文件。 已经上传到附件里,文件名为“代码片段3.js”,可以在文章的右侧下载。

附件中的“代码片段4.js”和“代码片段5.js”,是飞云给大家整理的另外两种刷新文件的方式,有兴趣的也可以尝试一下。

总结

我们提供了5种代码,来刷新安卓文件。经过测试,这5种方式在某音发布作品的时候有效。 在很多APP的注册和发表作品功能中,都需要安卓文件刷新功能。
以修改图像为例,在多台设备同时运行的情况下,就需要从服务器上,下载随机的图像到手机的SD卡中。 然后使用本文的刷新文件方法,来读取下载好的图片文件。

如果不刷新文件或者不重启手机,通常是无法读取到下载的文件的。

APP名称

某音

APP版本

安卓客户端:v8.1.0

开发环境

  • Visual Studio Code 1.36.1
  • Auto.js Pro 7.0.4-0
  • windows10 64-bit

开发设备

  • 设备名称:Readmi 7A(2+16G,未Root)
  • 安卓版本:9
  • MIUI版本:10.2.3
  • 分辨率:720×1440 Px

是否root

不需要

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 使用autojs刷新android目录文件的5种方法,java代码转换为autojs代码,某音自动发布视频

企业级大数据智能营销管理系统

了解详情