Android

其他

更新时间: 2024/03/14 16:36:28

日志文件压缩

将日志文件以 zip 格式压缩,返回指定zip文件的路径。

  • API 原型
java/**
 * 将日志文件压缩到zip
 * @return 返回zip 压缩包 path
 */
InvocationFuture<String> zipLogs();
  • 使用示例
javaNIMClient.getService(MiscService.class).zipLogs().setCallback(new RequestCallback<String>() {
    @Override
    public void onSuccess(String path) {
        // Toast path
    }

    @Override
    public void onFailed(int code) {
    }

    @Override
    public void onException(Throwable exception) {
    }
});

获取 SDK 缓存文件大小

计算 SDK 缓存文件的大小,例如收发图片消息的缩略图,语音消息录音文件等等。

  • API 原型
java/**
 * 获取 SDK 指定类型的缓存文件大小
 * @param fileTypes 文件类型列表
 * @param startTime 开始时间,毫秒,若设置为0 表示不限起始时间
 * @param endTime 结束时间,毫秒,若设置为0 表示不限结束时间
 * @return 缓存size
 */
InvocationFuture<Long> getSizeOfDirCache(List<DirCacheFileType> fileTypes, long startTime, long endTime);
  • 使用示例
java
List<DirCacheFileType> fileTypes = new ArrayList<>();
fileTypes.add(DirCacheFileType.THUMB);
fileTypes.add(DirCacheFileType.IMAGE);
fileTypes.add(DirCacheFileType.AUDIO);

NIMClient.getService(MiscService.class).getSizeOfDirCache(fileTypes, 0, 0).setCallback(new RequestCallback<Long>() {
    @Override
    public void onSuccess(Long size) {
        // 计算得到了缓存大小,单位字节
    }

    @Override
    public void onFailed(int code) {
    }

    @Override
    public void onException(Throwable exception) {
    }
});

删除 SDK 本地缓存

删除 SDK 指定类型的缓存文件,例如收发图片消息的缩略图,语音消息录音文件等等。

  • API 原型
java/**
 * 删除本地缓存
 * @param fileTypes 文件类型列表
 * @param startTime 开始时间,毫秒,若设置为0 表示不限起始时间
 * @param endTime 结束时间,毫秒,若设置为0 表示不限结束时间
 * @return 缓存size
 */
InvocationFuture<Void> clearDirCache(List<DirCacheFileType> fileTypes, long startTime, long endTime);
  • 使用示例
java
List<DirCacheFileType> fileTypes = new ArrayList<>();
fileTypes.add(DirCacheFileType.THUMB);
fileTypes.add(DirCacheFileType.IMAGE);
fileTypes.add(DirCacheFileType.AUDIO);

NIMClient.getService(MiscService.class).clearDirCache(fileTypes, 0, 0).setCallback(new RequestCallback<Void>() {
    @Override
    public void onSuccess(Void size) {
        // 删除成功
    }

    @Override
    public void onFailed(int code) {
    }

    @Override
    public void onException(Throwable exception) {
    }
});

主动上传日志消息

  • API原型
java/**
 * 主动上传日志消息
 * @param cut true: 上传部分; false: 上传全部
 * @param roomId 聊天室ID 如果没有,填""
 * @param uploadMsg sdk日志上传附言, 可选, 最长4096字符
 *
 * @return InvocationFuture
 */
InvocationFuture<String> getSdkLogUpload(boolean cut, String roomId, String uploadMsg);
  • 参数说明
参数 说明
cut true: 上传部分; false: 上传全部
roomId 聊天室ID 如果没有,填""
uploadMsg sdk日志上传附言, 可选, 最长4096字符
  • 示例
javaNIMClient.getService(MiscService.class).getSdkLogUpload(true,roomIdEdit.getText().toString(),uploadMsgEdit.getText().toString()).setCallback(new RequestCallbackWrapper<String>() {
    @Override
    public void onResult(int code, String result, Throwable exception) {
        logInfoView.setText("code="+ code + ",result="+result);
        Log.d("uploadlog","result:"+result);
    }
});
此文档是否对你有帮助?
有帮助
去反馈
  • 日志文件压缩
  • 获取 SDK 缓存文件大小
  • 删除 SDK 本地缓存
  • 主动上传日志消息