【发布时间】:2016-02-05 10:39:17
【问题描述】:
我正在尝试获取 epubfile 的 MIME 类型,正如在 Wikipedia 上收听的那样,它是 application/epub+zip。但是,该方法返回 null。
Uri uri = MediaStore.Files.getContentUri("external");
String[] projection = null;
String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "="
+ MediaStore.Files.FileColumns.MEDIA_TYPE_NONE;
String[] selectionArgs = null; // there is no ? in selection so null here
String sortOrder = null; // unordered
String selectionMimeType = MediaStore.Files.FileColumns.MIME_TYPE + "=?";
String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension("epub"); //this line here returns null
// String mimeType = "application/epub+zip" this returns null too.
String[] selectionArgsPdf = new String[]{ mimeType };
Cursor cur = cr.query(uri, projection, selectionMimeType, selectionArgsPdf, sortOrder);
还有其他方法可以导入 epub 文件吗?这是可能的,因为有应用程序可以做到这一点。 (月球阅读器)
【问题讨论】:
-
epub was added Thu Dec 11 13:07:19 2014 ... 所以在此之前的每个 android 版本显然都会返回 null ...
-
能确认安卓版本吗?
-
很明显,我如何让旧设备也能正常工作?
-
显然你必须得到真实的文件名并检查扩展名......
-
我已经知道扩展名了。这就是为什么上面的代码是这样的。
标签: android epub mediastore