将App与Epub格式相关联

 时间熔金-岁月铅华_758 发布于 2022-12-07 14:38

我无法让我的应用程序在移动设备上注册epub文件.我的android清单中有一组intent过滤器,但它仍然无法在sd卡上打开epub文件.当我浏览File Explorer应用程序时,它会显示该文件,但是当我点击它时,它会显示"系统不支持这种类型的文件:".当我从Internet下载文件,然后使用下载应用程序导航到下载文件夹时,该文件根本不显示(即使它位于文件浏览器的下载文件夹中).我也尝试使用文件选择器intent(Intent.ACTION_OPEN_DOCUMENT)来显示epub文件,但没有运气.我猜测最后两个没有显示,因为意图加载Intent.CATEGORY_OPENABLE

我尝试了多个epub文件,但都没有成功.

有人可以帮助弄清楚我错过了什么吗?

使用KitKat和更高级别的手机.

注意:这个确实从互联网上下载的工作.如果我转到epub链接,这是有效的,但不是来自文件系统.

        
        
            
            
            
            
        

        
            
            
            
            
        

        
            
            
            
            
            
        


        
            
            
            
            
            
        


        
            
            
            
            
            
        

        
            
            
            
            
            
        


        
            
            
            
            
            
        


        
            
            
            
            
            
        

        
            
            
            
            
            
        


        
            
            
            
            
            
        


        
            
            
            
            
            
        

        
            
            
            
            
            
        


        
            
            
            
            
        

        
            

            
            

            
            
            
            
            
            
            
        

更新:

为赏金寻找以下问题的答案:

    如何让android系统识别内部或外部存储上的epub文件可以用我的应用程序打开?

    如何获取默认文件浏览器(存储访问框架)以显示epub文件?

CommonsWare.. 7

如何让android系统识别内部或外部存储上的epub文件可以用我的应用程序打开?

"android系统"与它没有太大关系,特别是今天.

在支持MimeTypeMap(或者,更准确地说,libcore.net.MimeUtils从框架的类),用于.epub/ application/epub+zip被〜35小时前添加.据推测,它将出现在未来的Android版本中.在此之前,将使用该MIME类型的唯一文件管理器是自己添加它的那些.

在高层次上,遇到这样的问题时,解决方案非常简单:

    找到另一个做你想要的应用程序(在这种情况下,另一个EPUB阅读器)

    使用App Browser应用程序查看该应用程序的清单是什么样的以及它为节点选择了什么

通常,我通常会看到一个带有方案和MIME类型方案,主机和路径的东西.拥有MIME类型路径内容不太可能有所帮助,就好像Intent它没有明确地包含MIME类型,并且Android不知道将该特定扩展名映射到您的MIME类型,您可能不匹配.

此外,您需要使用多个"文件管理器"应用程序进行测试,因为Android没有文件管理器,因此您可能遇到了正在测试的错误/限制.

如何获取默认文件浏览器(存储访问框架)以显示epub文件?

指定正确的MIME类型并祈祷奇迹.

同样,在Android本身为映射.epub到MIME类型提供更多内置支持之前,您依赖于存储提供程序本身就知道.epub映射到application/epub+zipMIME类型.一些提供商会,因为他们从一些后端服务器获取该信息,这些服务器可能比Android本身知道更多的MIME类型.有些提供商可能没有,比如Android的MediaStore外部存储提供商,因为我怀疑它MediaStore有自己的EPUB文件本地支持.

1 个回答
  • 如何让android系统识别内部或外部存储上的epub文件可以用我的应用程序打开?

    "android系统"与它没有太大关系,特别是今天.

    在支持MimeTypeMap(或者,更准确地说,libcore.net.MimeUtils从框架的类),用于.epub/ application/epub+zip被〜35小时前添加.据推测,它将出现在未来的Android版本中.在此之前,将使用该MIME类型的唯一文件管理器是自己添加它的那些.

    在高层次上,遇到这样的问题时,解决方案非常简单:

      找到另一个做你想要的应用程序(在这种情况下,另一个EPUB阅读器)

      使用App Browser应用程序查看该应用程序的清单是什么样的以及它为<intent-filter>节点选择了什么

    通常,我通常会看到一个<intent-filter>带有方案和MIME类型方案,主机和路径的东西.拥有MIME类型路径内容不太可能有所帮助,就好像Intent它没有明确地包含MIME类型,并且Android不知道将该特定扩展名映射到您的MIME类型,您<intent-filter>可能不匹配.

    此外,您需要使用多个"文件管理器"应用程序进行测试,因为Android没有文件管理器,因此您可能遇到了正在测试的错误/限制.

    如何获取默认文件浏览器(存储访问框架)以显示epub文件?

    指定正确的MIME类型并祈祷奇迹.

    同样,在Android本身为映射.epub到MIME类型提供更多内置支持之前,您依赖于存储提供程序本身就知道.epub映射到application/epub+zipMIME类型.一些提供商会,因为他们从一些后端服务器获取该信息,这些服务器可能比Android本身知道更多的MIME类型.有些提供商可能没有,比如Android的MediaStore外部存储提供商,因为我怀疑它MediaStore有自己的EPUB文件本地支持.

    2022-12-11 02:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有