如何通过在android中使用agora sdk在onFileMessageReceived中的给定路径中下载文件
Posted
技术标签:
【中文标题】如何通过在android中使用agora sdk在onFileMessageReceived中的给定路径中下载文件【英文标题】:how to download file in given path in onFileMessageReceived by using agora sdk in android 【发布时间】:2021-10-21 13:13:06 【问题描述】:接收端代码
@Override
public void onFileMessageReceivedFromPeer(RtmFileMessage rtmFileMessage, String s)
runOnUiThread(() ->
if (s.equals(toProfID))
// String path = context.getFilesDir().getAbsolutePath() + "/" + rtmFileMessage.getFileName();
final String cacheFile = getCacheFile(context, rtmFileMessage.getFileName());
Log.d("onFileMessageReceived", cacheFile);
RtmRequestId requestId = new RtmRequestId();
mRtmClient.downloadMediaToFile(
rtmFileMessage.getMediaId(),
cacheFile,
requestId,
new ResultCallback<Void>()
@Override
public void onSuccess(Void aVoid)
massageList.add(0,new ChatItem(ChatItem.LayoutSix, "", rtmFileMessage.getFileName(), cacheFile, Time(), false));
chatAdapter.notifyDataSetChanged();
recyclerView_list.scrollToPosition(0);
@Override
public void onFailure(ErrorInfo errorInfo)
Log.d("onFailure", "onFileMessageReceived" + errorInfo.toString());
);
);
路径如下
public static String getCacheFile(Context context, String id)
File parent = new File(context.getCacheDir(), CACHE_DIR);
if (!parent.exists())
parent.mkdirs();
return new File(parent, id).getAbsolutePath();
无法从媒体 ID 下载此文件
**想下载收到的文件。我打开这个文件是尊重甲酸盐的。 .pdf 已打开,但实际上文件未打开。我不知道问题**
【问题讨论】:
【参考方案1】:使用此代码下载
public static String getCacheFile(Context context, String id)
File parent = new File(context.getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS),
"YourAppDirectory");
if (!parent.exists())
parent.mkdirs();
return new File(parent, id).getAbsolutePath();
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于如何通过在android中使用agora sdk在onFileMessageReceived中的给定路径中下载文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 android 中与 agora.io sdk 共享屏幕?
使用 Agora SDK 的 Flutter Android 项目:'错误:找不到符号'
agora.io Android SDK:如何获取所有远程用户“uid”