0

我制作了一个程序,用户可以在其中显示他想在这个应用程序中加载哪张图片。当用户想要加载图片时,他可以选择他想要使用什么样的文件资源管理器:

在此处输入图像描述

一切正常,但如果我选择“图库”并标记我的图像,它就不起作用。只有当我选择“画廊”时才会发生这种情况。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);

    if(resultCode == RESULT_OK){
                 String path = data.getData().getPath();
                 try {
        loadedimage = BitmapFactory.decodeFile(sciezka_z_obrazem);
          }
                  catch (Exception e) {
                   }
            } [...]

从图库中选择图像后,loadedimage 为空。当我使用 Dropbox 或“我的文件”时,一切正常。

4

2 回答 2

0

你应该试试这个。
文件文件路径=新文件(路径);
然后使用
Uri.fromFile(filePath)
这将设置可以打开的内容。

于 2012-12-17T20:49:58.807 回答
0

我想你应该使用

Uri mUri = data.getData();

在 Gallery 的情况下,返回的文件格式为 content:// 而不是 file://

所以你应该使用 uri 而不是在 uri 上执行 getPath

编辑:使用 uri 解码如下

InputStream is = getContentResolver().openInputStream(uri);

loadedimage = BitmapFactory.decodeStream(is)
于 2012-12-16T19:49:34.850 回答