是否可以在不调用getContentResolver()的情况下从Uri检索位图?

时间:2015-12-20 13:10:05

标签: java android bitmap android-contentprovider android-contentresolver

我是Android新手,很抱歉,如果我的问题没有多大意义,但我已经搜索了很多,但却无法说清楚。

我有一个Item对象,可以使用从sqlite db中提取的数据进行构建。这个Item的一个字段是Bitmap(存储为DB中的Uri),它应该从Item的构造函数中的Uri创建。

当我尝试在构造函数中执行以下操作时,我得到java.io.FileNotFoundException: No package found for authority: android.resource://com.my.package/drawable/theImage

try {
     actualPic = MediaStore.Images.Media.getBitmap(app.getContentResolver(), theImageUri);
} catch (IOException e) {
     e.printStackTrace();
}

重要说明:MainActivity是实例化Item对象的类,它将对自身的引用传递给Item的app构造函数,我用它来调用getContentResolver方法。

我读到我需要创建一个扩展ContentProvider并在清单中声明它的类,但是要获得该Bitmap似乎要做很多事情。我错过了什么吗?有没有更简单的方法来获取Bitmap或我需要创建新类?

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您只想从资源中检索位图,请查看以下内容:How to convert a Drawable to a Bitmap?