Android的意图说我要做到以下几点:为EPUB
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/epub");
目前我有一个艰难的时间,找出存在的应用程序,有一个过滤器设置为EPUB,并想知道是否有人有任何想法。
我的意图是在外部应用程序中加载epub文件,该文件将从我的应用程序启动。尝试使用Aldiko,但它似乎没有任何过滤器设置为此。
Android的意图说我要做到以下几点:为EPUB
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/epub");
目前我有一个艰难的时间,找出存在的应用程序,有一个过滤器设置为EPUB,并想知道是否有人有任何想法。
我的意图是在外部应用程序中加载epub文件,该文件将从我的应用程序启动。尝试使用Aldiko,但它似乎没有任何过滤器设置为此。
它似乎并不像我的目的存在的外部应用程序。
因此,我的解决方案是编写我自己的电子阅读器来解析EPUB文件以满足我的独特需求。
您可以使用Intent使用Context.startActivity(Intent)启动特定的应用程序。它会抛出“ActivityNotFoundException”异常,您可以捕获并尝试启动另一个支持epub的应用程序,依此类推。
您可以向用户显示错误之前针对一些最流行的应用程序,所以很明显,你的应用程序就不得不提一个先决条件,这些应用程序至少具有一个。
当然这是一个丑陋的黑客,你应该避免这样做,但这可能会为你工作,直到你找到一个更好的解决方案,即像Aldiko的应用程序引入epub过滤器。
尝试
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/epub+zip");
似乎为我工作。该MIME类型是不是官方(还)http://en.wikipedia.org/wiki/EPUB 这对我工作与Aldiko。
Google play books打开application/epub + zip。但不是应用程序/ epub。如果他们没有在Google Play图书设置中激活上传,它将会失败。
这是一个非常古老的问题。从那时起,许多变化。那时,没有任何处理这些意图的应用程序。 – xil3
我知道该怎么做 - 问题是,哪个应用为EPUB提供了过滤器? – xil3