首页 > 解决方案 > glide 不从 sdcard 加载图像

问题描述

我想在我的 sdcard 中放一张图片,但它没有显示,我认为 glide 库或权限有问题,我在里面堆了 2 天,请帮助我。

public class MainActivity extends AppCompatActivity {

    public final static String PATH_SD_CARD = "/Images/Mj.jpg";
    private static final int MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE = 1;



    @TargetApi(Build.VERSION_CODES.M)
    @RequiresApi(api = Build.VERSION_CODES.M)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
                != getPackageManager().PERMISSION_GRANTED) {

            // Should we show an explanation?
            if (shouldShowRequestPermissionRationale(
                    Manifest.permission.READ_EXTERNAL_STORAGE)) {
                // Explain to the user why we need to read the contacts
            }

            requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
                    MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);

            // MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE is an
            // app-defined int constant that should be quite unique

            return;
        }

        ImageView img = findViewById(R.id.imageView);

        Glide.with(this)
                .load(Environment.getExternalStorageDirectory().getAbsolutePath()+PATH_SD_CARD)
                .into(img);
    }
}

标签: javaandroid

解决方案


您是否在 android manifest 文件中添加了权限,如下面的代码..

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

推荐阅读