小编Ben*_*Ben的帖子

Java MimetypesFileTypeMap始终在Android模拟器上返回application/octet-stream

我正在尝试确定存储在Android设备上的Mime/Media类型的文件(实际上是我正在使用模拟器的虚拟设备).我发现这个资源从一个推荐的文件中获取MIME类型javax.activation.MimetypesFileTypeMap,但是当我运行以下代码时,我会得到application/octet-stream所有文件类型:

MimetypesFileTypeMap map = new MimetypesFileTypeMap();  
File dir = Environment.getExternalStorageDirectory();  
File[] files = dir.listFiles();  
String mimeType;  
for( int i = 0; i < files.length; ++i ) {  
    if( files[i].isDirectory() == false ) {  
        mimeType = map.getContentType(files[i]);  
        if( mimeType.toLowerCase().equals("application/octet-stream") ) {  
            Log.d("mytag", 
                String.format( "Unable to determine the mime type of file %s.",
                files[i].getName()));  
        }   
    }  
}  
Run Code Online (Sandbox Code Playgroud)

我已经使用具有以下扩展名的文件对其进行了测试:jpg,txt,doc,xslx和pdf,它们都返回相同的内容.我有什么需要做的来初始化地图吗?这个库可以找不到Android上支持的mime类型列表吗?有没有更好的方法来获取Android上的mime类型的文件?

java android mime-types

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

java ×1

mime-types ×1