Android Custom ContentProvider在图像预览中失败

时间:2014-03-19 21:24:30

标签: android

我有一些奇怪的事情,在我的应用程序中,我必须将媒体元素存储在受保护的存储中,而不是存储在SD卡上。我已经按照指南创建了一个自定义ContentProvider,它通过openFile命令提供文件。这适用于视频播放,但默认图像预览不起作用。两个地方都使用相同的代码来启动意图。关于发生了什么的任何想法? ContnentProvider

@Override
public ParcelFileDescriptor openFile(Uri uri, String mode)
        throws FileNotFoundException {


        String requestedFile = uri.getPath();

        if (requestedFile.startsWith("//")) {
            requestedFile = requestedFile.substring(1);
        }

        return ParcelFileDescriptor.open(FileTools.getFileFromStorage(requestedFile), ParcelFileDescriptor.MODE_READ_ONLY);
}

图片OnClick意图

File file = new File(message.MediaPath);
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(FileTools.getIntentUri(file), "image/jpg");
            mContext.startActivity(intent);

我可以单步执行代码并看到它调用我的打开文件并返回,但预览不会显示它。任何建议或者你能说出我错过的东西吗?

布赖恩

编辑:

经过一些检查并重新安装应用程序后,我能够完成上述工作,似乎我尝试的图像都以某种方式损坏了。

0 个答案:

没有答案