- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我无法让我的应用程序在移动设备上注册 epub 文件。我的 android list 中有一组 Intent 过滤器,但它仍然无法使用 sd 卡上的 epub 文件打开。当我浏览 File Explorer
应用程序时,它会显示该文件,但是当我单击它时,它会显示“系统不支持这种类型的文件:”。当我从 Internet 下载文件,然后使用下载应用程序导航到下载文件夹时,该文件根本不显示(即使它位于文件浏览器的下载文件夹中)。我还尝试让 epub 文件显示文件选择器 Intent (Intent.ACTION_OPEN_DOCUMENT
),但没有运气。我猜最后两个没有显示,因为 Intent 加载 Intent.CATEGORY_OPENABLE
我尝试了多个 epub 文件,但都没有成功。
有人可以帮我弄清楚我错过了什么吗?
使用 KitKat 和更高版本的手机。
注意:这确实适用于从互联网下载。如果我转到 epub 链接,这可行,但不是来自文件系统。
<!-- Open File Types -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:host="*" android:scheme="file"/>
<data android:pathPattern=".*\\.epub"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:host="*" android:scheme="file" android:mimeType="text/plain"/>
<data android:pathPattern=".*\\.epub"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="*" android:scheme="file"/>
<data android:mimeType="application/epub+zip"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="*" android:scheme="http"/>
<data android:pathPattern=".*\\.epub"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="*" android:scheme="http" android:mimeType="text/plain"/>
<data android:pathPattern=".*\\.epub"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="*" android:scheme="http"/>
<data android:mimeType="application/epub+zip"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="*" android:scheme="https"/>
<data android:pathPattern=".*\\.epub"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="*" android:scheme="https" android:mimeType="text/plain"/>
<data android:pathPattern=".*\\.epub"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="*" android:scheme="https"/>
<data android:mimeType="application/epub+zip"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="*" android:scheme="content"/>
<data android:pathPattern=".*\\.epub"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="*" android:scheme="content" android:mimeType="text/plain"/>
<data android:pathPattern=".*\\.epub"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="*" android:scheme="content"/>
<data android:mimeType="application/epub+zip"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:host="*" android:scheme="book"/>
</intent-filter>
<intent-filter
android:icon="@raw/icon"
android:label="ePub File"
android:priority="1" >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:scheme="ftp" />
<data android:scheme="file" />
<data android:host="*" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.epub" />
</intent-filter>
为赏金寻找以下问题的答案:
最佳答案
How do I get android system to recognize that epub files on internal or external storage can be opened with my app?
“android 系统”与它没有太大关系,尤其是在今天。
支持 MimeTypeMap
(或更准确地说,来自框架类的 libcore.net.MimeUtils
)对于 .epub
/application/epub+zip
是 added ~35 hours ago .据推测,它将出现在未来的 Android 版本中。在此之前,唯一会使用该 MIME 类型的文件管理器是那些自己添加它的文件管理器。
在高层次上,当遇到这样的问题时,解决方案相当简单:
找到另一个可以满足您需求的应用(在本例中,是另一个 EPUB 阅读器)
使用the App Browser app查看该应用程序的 list 是什么样的以及它为<intent-filter>
选择了什么节
一般来说,我通常会看到 <intent-filter>
带有方案和 MIME 类型或方案、主机和路径的东西。拥有 MIME 类型 和 路径的东西不太可能有帮助,好像 Intent
没有明确的 MIME 类型,Android 不知道将特定扩展名映射到您的 MIME 类型,您的 <intent-filter>
。可能不匹配。
此外,您将需要使用多个“文件管理器”应用进行测试,因为 Android 没有文件管理器,因此您可能会在您正在测试的应用中遇到错误/限制。
How do I get the default file browser (Storage Access Framework) to show epub files?
指定正确的 MIME 类型并祈求奇迹。
同样,直到 Android 本身提供更多的内置映射支持 .epub
对于 MIME 类型,您依赖存储提供商自己碰巧知道 .epub
映射到 application/epub+zip
MIME 类型。一些提供商会这样做,因为他们从某个后端服务器获取这些信息,这些服务器可能比 Android 本身了解更多的 MIME 类型。有些供应商可能不会,例如 Android 的 MediaStore
- 支持外部存储内容的提供商,因为我怀疑 MediaStore
对 EPUB 文件有自己的本地支持。
关于android - 将 App 与 Epub 格式相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27335114/
我开发了一个基于网络的e pub阅读器,我想添加一个评论功能,例如adobe PDF阅读器评论功能,这样如果我在其他e中打开该e pub,评论应该保存在e pub中酒吧读者我可以看到评论。 最佳答案
我使用 .NET 中的 ZipArchive 编写了一个 ePub 生成器,并查看了规范(在 Wikipedia 中)和一个示例。 这行不通!但我只收到一个一般性错误,所以我无法从这里修复任何东西。
我正在使用最优秀的 PHP 库 ePub从存储在我的数据库中的 HTML 即时创建数字图书。 因为这些是合集的一部分,所以我为每本书都附上了封面图片。代码中一切正常,但根据解释 ePub 的设备/软件
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 9 年前。 Improve
我有一堆 EPUB 书籍,如果我有 Kindle,我必须将它们转换为 MOBI。我想知道在从 EPUB 到 MOBI 的转换过程中是否一定会丢失任何细节(例如元数据、布局信息),反之亦然,类似于 MP
我正在尝试制作双语电子书。我希望它排版成两列,一种语言在左边,另一种在右边。 这可能与 epub 规范有关吗? 最佳答案 这是很有可能的,有两种不同的方式: 列(由 wikisource epub e
我制作了一个应用程序,其中我实现了 ePub 阅读器,它可以解压缩文件并解析 xml 文件。我在S.O.上采用了这个问题的方法。 Reading ePub format . 在我用客户端的更新文件替换
我正在开发EPUB 阅读器。我想了解一些与市场上其他 EPUB 阅读器相关的信息(例如 Cool reader、FBReader、Amazon Kindle 等等)。 他们使用什么类型的 View 来
是否有任何编程方法可以安全地检查 epub 文件是否受 DRM 保护(加密)? 我发现 META-INF 目录中可能有一个 rights.xml 和一个 encryption.xml。 这些文件中的任
我正在使用 pandoc 作为创建 epub 书籍的一种方式。它通过检测书中的所有 H1 标签自动创建目录。这很有效,只是每个 epub 都有一个指向标题页的 TOC 链接,这是我不需要的。 我如何摆
我正在 iPhone 上开发一个简单的 epub 阅读器,但一直想知道如何加载它。我知道阅读 PDF 等文件有些简单,因为它本身就是一个文件,可以使用 UIWebView 或 CoreGraphics
我正在使用 https://github.com/augustl/js-epub解析 .epub 文件。但我得到错误“XML 解析错误:未找到元素”。我在第 3 步之前没有遇到问题,它在后处理步骤中失
我对如何实现 epub.js 感到困惑。 ( https://github.com/futurepress/epub.js/blob/master/documentation/README.md )
我正在开发 ibook 应用程序之类的 iphone 应用程序。我加载了 UIWebView 中解析 epub 文件后获得的 XML 文件的内容。我更改了字体大小 & UIWebView 内容的字体系
刚开始使用 FuturePress/epub.js。并与 vue.js 一起使用 ‹ ›
我正在尝试将 epub 文件解析为 UIWebView。我解析成功了。但我无法设置字体大小。意味着当点击 epub 文件页面时,字体需要增加。我添加了 UISearchBar,但如果我输入文本,它就无
我正在使用 Pandoc 将 Markdown 文件转换为 ePub。我可以使用 --template 选项自定义自动生成的标题页。 现在我正在尝试对自动生成的目录执行相同的操作。这可能吗? 我可以使
我想使用动态 html 作为源创建类似于 epub/ebook 阅读器(如 Kindle 应用程序或 iBooks)的响应式、移动优化阅读体验。 想象一下需要大量垂直滚动才能阅读的长篇文章或博客文章,
在流行的桌面电子书查看器(如 calibre、FBreader 或 Cool Reader)中,我缺少一项功能,即以与打印版电子书相同的页码显示电子书。有些人(也在这里)声称 epub 没有页面概念(
Apple 对 ePub 3 脚注的支持详见 Liz Castro . 简而言之,如果脚注链接有 epub:tupe="noteref"格式: 1 脚注文本位于 用 epub:type="footno
我是一名优秀的程序员,十分优秀!