在我的Android应用程序中,我使用Google驱动器来选择图像和文件,对于文件,我的代码在大多数情况下都能正常运行。不幸的是,在某些情况下,图像导入不起作用,图像位图返回空值,下面是我用来将内容URI转换为输入流和位图的代码。
Bitmap bitmap = null;
InputStream input = null;
try {
input = getActivity()
.getContentResolver()
.openInputStream(
Uri.parse("content://com.google.android.apps.docs.storage/document/acc%3D2%3Bdoc%3D83"));
Log.Logger()
.finest("Profileimagefile Fragment Drive called input" + input);
bitmap = BitmapFactory
.decodeStream(input);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
我已经提到过不起作用的URI,请帮我弄清楚问题。
答案 0 :(得分:2)
尝试这样做以获取位图:
Uri sArtworkUri = Uri
.parse("content://com.google.android.apps.docs.storage/document/acc%3D2%3Bdoc%3D83");
Uri uris = ContentUris.withAppendedId(sArtworkUri,
Long.parseLong(fileUri));
ContentResolver res = getContentResolver();
InputStream in = null;
try { in = res.openInputStream(uris);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Bitmap artwork = BitmapFactory.decodeStream( in );
使用这件艺术品......