启动Intent.ACTION_VIEW意图无法处理已保存的图像文件

时间:2010-06-02 02:17:28

标签: java android bitmap android-intent

4 个答案:

答案 0 :(得分:33)

我用这个黑客修复错误:

...
Uri hacked_uri = Uri.parse("file://" + uri.getPath());
intent.setDataAndType(hacked_uri, "image/*");
...

答案 1 :(得分:4)

我将此代码用于我的应用并且工作正常。我只做了一次改变。

我改变了这个:

intent.setDataAndType(Uri.parse(posterFile.getAbsolutePath()),"image/*");

为此:

intent.setDataAndType(Uri.fromFile(posterFile),"image/*");

答案 2 :(得分:2)

我决定创建自己的Activity,它只是在屏幕上绘制图像。它不是一个完美的解决方案,但它符合我的基本标准......它有效:)

答案 3 :(得分:0)

我使用此代码

 MediaScannerConnection.scanFile(PayamKhosusiActivity.this, new String[] { filez.toString() },
                        null, new MediaScannerConnection.OnScanCompletedListener() {
                            @Override
                            public void onScanCompleted(String path, Uri uri) {
                                Log.wtf("onScanCompleted", "yes");


                                Intent intent = new Intent(Intent.ACTION_VIEW, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                                intent.setDataAndType(uri, "image/*");
                                intent.setFlags(FLAG_GRANT_READ_URI_PERMISSION | FLAG_GRANT_WRITE_URI_PERMISSION); //must for reading data from directory

                                startActivity(intent);
                            }
                        });