使用autojs刷新android目录文件的方法,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”,可以在文章的右侧下载。

总结

我们提供了3种代码,来刷新安卓文件。经过测试,这3种方式在抖音发布作品的时候有效。
在很多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
1. 本站部分资源来源于用户上传和网络搜集,如有侵权请联系站长。
2. 官方交流QQ群飞云脚本圈,欢迎加入。
3. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。

飞云脚本 » 使用autojs刷新android目录文件的方法,java代码转换为autojs代码,抖音自动发布视频

发表评论

跟我学Auto.js Pro安卓全分辨率免ROOT引流脚本开发教程

立即报名