【问题标题】:Android MediaStore.Images.Media.getBitmap returns errorAndroid MediaStore.Images.Media.getBitmap 返回错误
【发布时间】:2011-04-06 01:40:29
【问题描述】:

ContentResolver cr = getContentResolver(); Uri pic = Uri.parse("content://media/external/images/media/3"); 位图 bm = Media.getBitmap(cr,pic);

上面的代码写在我的Activity类的onCreate方法中。它抛出以下错误:

08-30 12:27:22.352:WARN/System.err(245):java.io.FileNotFoundException:没有内容提供者:[content://media/external/images/media/3]

可能出了什么问题?有问题的文件在那里,因为我在另一个方法中启动了 Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI) 并从返回的意图中取回了所选择图像的 Uri。

【问题讨论】:

    标签: android mediastore


    【解决方案1】:

    你应该这样做:

    private String getPath(Uri uri) {
    String[]  data = { MediaStore.Images.Media.DATA };
    CursorLoader loader = new CursorLoader(context, uri, data, null, null, null);
    Cursor cursor = loader.loadInBackground();
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);
    }
    

    【讨论】:

      【解决方案2】:

      好的,我找到了问题。我给出了错误的 Uri。我给出的是“[content://blahblah]”,而我应该给出的是“content://blahblah”。

      【讨论】:

      • 当你说“你在给予”时,这意味着你写了 Uri pic = Uri.parse("[content://media/external/images/media/3]");用 [] 在字符串中进行解析或..? 10q
      猜你喜欢
      • 2012-07-08
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      • 1970-01-01
      相关资源
      最近更新 更多