ico格式图片,在文件管理器中可以通过gallery打开,但是在设置-->存储-->不能查看问题:
首先图库的要能匹配 : image/x-icon,带有这种mimetype的intent的请求,所以先要检查gallery的intent匹配规则:
<activity android:name="com.android.gallery3d.app.GalleryActivity"
android:configChanges="keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="com.android.camera.action.REVIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:scheme="content" />
<data android:scheme="file" />
<data android:mimeType="image/bmp" />
<data android:mimeType="image/jpeg" />
<data android:mimeType="image/gif" />
<data android:mimeType="image/png" />
<data android:mimeType="image/webp" />
<data android:mimeType="image/x-ms-bmp" />
<data android:mimeType="image/vnd.wap.wbmp" />
<data android:mimeType="image/x-icon" />
<data android:mimeType="application/octet-stream" />
<data android:mimeType="application/vnd.google.panorama360+jpg" />
</intent-filter>
</activity>
<data android:mimeType="image/x-icon" />
<data android:mimeType="application/octet-stream" />
然后,在GalleryActivity.java中,通过uri查找path时,
if(contentType.equals("application/octet-stream")){
contentType = "image/*";
}
把application/octet-stream 类型转成image/*处理。