如何在ImageView中显示外部存储的图片

3
我想在我的安卓应用程序中展示外部存储的图片,例如:"storage/sdcard0/image.jpg"。请问有人能指导我如何实现吗?

1
看一下这个解决方案 https://dev59.com/ZG025IYBdhLWcg3w960W#5695129 - SERPRO
3个回答

8
如果您的图像位于sdcard的根文件夹中,则可以通过以下方式访问它:
 Bitmap bmp = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().toString + File.separator + "yourimage.jpg");     
 webImage.setImageBitmap(bmp);

3

这是正确的做法:

Bitmap myBitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + File.separator + "image.jpg");     
myImageView.setImageBitmap(myBitmap);

但是需要添加权限:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

或者在 Android 6.0 及以上的版本手动请求此权限:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){

 int permissionCheck = ContextCompat.checkSelfPermission(
            this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
    if (permissionCheck != PackageManager.PERMISSION_GRANTED) {      
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 225);
    } 

}

2

尝试使用这个函数:

Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+File.separator+"image.png");

将此位图设置到 ImageView:

imageView.setImageBitmap(bitmap);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接