【问题标题】:How to open files in Android with default viewer using jCIFS如何使用 jCIFS 在 Android 中使用默认查看器打开文件
【发布时间】:2011-12-23 06:22:10
【问题描述】:

我正在使用免费的 jCIFS 库通过 CIFS 连接到我的 NAS 设备,它运行良好。我可以毫无问题地连接并获取文件名列表等。

现在我想在默认的 Android 应用程序中打开其中一个文件 - 即应该在音乐播放器中打开音乐文件、在图库中打开图像、在视频播放器中打开视频文件等等。问题不在于获取 MIME 类型等等。问题是我不想先下载文件,它们应该被流式传输

有谁知道如何做到这一点?我知道 CifsManager (另一个第三方应用程序)能够做类似的事情,但它不使用 jCIFS 并且它需要 root 访问权限才能安装驱动器。我的应用程序不需要 root 访问权限,这一点很重要。

您可以在此处找到 jCIFS 库: http://jcifs.samba.org/

【问题讨论】:

    标签: android cifs jcifs


    【解决方案1】:

    您可以使用 SmbFileInputStream 来读取文件。
    请浏览文档jcifs.smb.SmbFileInputStream

    【讨论】:

    • 我需要在 Android 的默认查看器中启动任何选定的文件,而不是自己处理读取 - 我需要将它传递给另一个应用程序。如果我可以传递FileInputStream,那就太好了,但我不认为或不知道这是否可能。
    • 将 InputStream 转换为 File() 并使用 Intents 打开具有 mime 类型的文件..如果您不知道 mime 类型..请参考stackoverflow.com/questions/6265298/…
    • 那行不通 - 就像我在问题中所说的那样,我不想将文件下载到设备上,它们需要流式传输。
    • @Michell Bak 我不确定您将如何完成流式传输文件,但我正在做的是将文件复制到设备上的公共路径(外部存储上的下载文件夹),打开该文件及其指定的应用程序,然后删除该文件。我按照 aNi 的建议做了,它对我很有用。
    猜你喜欢
    • 1970-01-01
    • 2011-07-20
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多