React Native安卓/iOS端如何实现缓存视频分享至TikTok?
React Native 分享缓存视频至TikTok(安卓/iOS实现方案)
该功能在安卓和iOS端均可以实现,以下是分平台的具体实现思路:
安卓端实现
核心通过隐式Intent唤起TikTok并传递视频文件:
- 先将缓存目录的视频复制到外部公共存储目录(如
Environment.DIRECTORY_MOVIES),因为TikTok无法直接访问应用私有缓存目录; - 用
react-native-send-intent库或自定义原生模块构建分享Intent:- 设置action为
Intent.ACTION_SEND,MIME类型为video/*; - 安卓7.0+需用
FileProvider生成文件URI,避免FileUriExposedException; - 指定TikTok包名
com.zhiliaoapp.musically精准唤起应用。
- 设置action为
- 原生代码示例(简化版):
Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setType("video/*"); shareIntent.putExtra(Intent.EXTRA_STREAM, fileUri); shareIntent.setPackage("com.zhiliaoapp.musically"); startActivity(shareIntent);
iOS端实现
通过URL Scheme或UIDocumentInteractionController完成分享:
- 先在
Info.plist添加TikTok的URL Scheme白名单:<key>LSApplicationQueriesSchemes</key> <array> <string>tiktok</string> <string>vshare</string> </array> - 两种实现方式:
- URL Scheme方式:先用
react-native-cameraroll将缓存视频保存到相册,再构造tiktok://upload唤起TikTok上传界面让用户选择视频; - UIDocumentInteractionController方式:获取缓存视频本地路径,初始化控制器并设置UTI为
public.movie,指定TikTok的Bundle IDcom.zhiliaoapp.musically后调用presentOpenInMenu唤起分享。
- URL Scheme方式:先用
- 注意:iOS 14+需在
Info.plist中添加NSPhotoLibraryAddUsageDescription权限申请文案,才能将视频保存到相册。
通用注意事项
- 唤起前需检查设备是否安装TikTok,避免操作失败;
- 视频格式需符合TikTok规范(如MP4格式,分辨率、时长满足平台要求);
- 安卓端需做好文件访问权限和
FileProvider的配置。
内容的提问来源于stack exchange,提问作者RoshaanAli
相关产品推荐
相关产品推荐

