其他

这里主要是一些杂七杂八的功能和接口,和 IM 消息业务等并没有关联。

日志文件压缩

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

/**
 * 将日志文件压缩到zip
 * @return 返回zip 压缩包 path
 */
InvocationFuture<String> zipLogs();
NIMClient.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 缓存文件的大小,例如收发图片消息的缩略图,语音消息录音文件等等。

/**
 * 获取 SDK 指定类型的缓存文件大小
 * @param fileTypes 文件类型列表
 * @param startTime 开始时间,毫秒,若设置为0 表示不限起始时间
 * @param endTime 结束时间,毫秒,若设置为0 表示不限结束时间
 * @return 缓存size
 */
InvocationFuture<Long> getSizeOfDirCache(List<DirCacheFileType> fileTypes, long startTime, long endTime);

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 指定类型的缓存文件,例如收发图片消息的缩略图,语音消息录音文件等等。

/**
 * 删除本地缓存
 * @param fileTypes 文件类型列表
 * @param startTime 开始时间,毫秒,若设置为0 表示不限起始时间
 * @param endTime 结束时间,毫秒,若设置为0 表示不限结束时间
 * @return 缓存size
 */
InvocationFuture<Void> clearDirCache(List<DirCacheFileType> fileTypes, long startTime, long endTime);

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) {
    }
});