1

说我想做以下事情:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/epub"); 

目前,我很难找到一个为 epub 设置过滤器的应用程序,并且想知道是否有人有任何想法。

我的意图是在外部应用程序中加载一个 epub 文件,该应用程序将从我的启动。尝试使用 Aldiko,但它似乎没有为此设置任何过滤器。

4

4 回答 4

4

尝试

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/epub+zip"); 

似乎对我有用。mime 类型不是官方的(尚未)http://en.wikipedia.org/wiki/EPUB 这对我和 Aldiko 有效。

于 2011-07-25T13:03:24.417 回答
0

您可以使用 Intent 使用 Context.startActivity(Intent) 启动特定应用程序。它会抛出“ActivityNotFoundException”异常,您可以捕获并尝试启动另一个支持 epub 的应用程序,依此类推。

您可以在向用户显示错误之前定位一些最流行的应用程序,因此很明显,您的应用程序必须提及这些应用程序中的至少一个的先决条件。

当然这是一个丑陋的 hack,你应该避免这样做,但这可能对你有用,直到你找到更好的解决方案,即像 Aldiko 这样的应用程序引入了一个 epub 过滤器。

于 2011-01-12T18:01:15.917 回答
0

出于我的目的,似乎不存在外部应用程序。

因此,我的解决方案是编写自己的电子阅读器来解析 EPUB 文件以满足我的独特需求。

于 2011-01-20T08:48:12.460 回答
0

Google play book 打开应用程序/epub+zip。但不是应用程序/epub。如果他们没有在 google play book 设置中激活上传,它将失败。

于 2014-11-28T06:18:09.913 回答