android - 如何在Android手机上获取图库中的图像?

标签 android android-gallery mediastore

我想在手机图库中获取图像并在 gridview 上显示。 我使用光标:

final String[] columns = {MediaStore.Images.Media.DATA,
            MediaStore.Images.Media._ID};
final String orderBy = MediaStore.Images.Media.DATE_TAKEN + " DESC";
Cursor imagecursor = getContentResolver().query(
            MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,
            null, orderBy);

我的手机没有 SD 卡,我收到了 Unfortunately app has stopped 错误。 当我将 EXTERNAL_CONTENT_URI 替换为 INTERNAL_CONTENT_URI 时,什么也没发生,没有错误,没有显示图像。

最佳答案

可以通过发起这个intent来获取图片:

Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);//
    startActivityForResult(Intent.createChooser(intent, "Select File"), SELECT_FILE);

然后在onActivityResult()中处理

     @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (resultCode == Activity.RESULT_OK) {
            if (requestCode == SELECT_FILE)
                onSelectFromGalleryResult(data);
}
}

private void onSelectFromGalleryResult(Intent data) {

    if (data != null) {
        try {
            bm = MediaStore.Images.Media.getBitmap(getApplicationContext().getContentResolver(), data.getData());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

如果对你有帮助请告诉我

关于android - 如何在Android手机上获取图库中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41605376/

相关文章:

java - 无限无尽的画廊?好吧,它不适合我

android - 我们如何在 Activity 中使用颜色查看背景图像?

android - 从 fragment 调用 Google Play 游戏服务

android - 如何像 iOS 一样在 Android 中实现裁剪功能?

android - 将图片上传到模拟器库

Android 9 (Pie) ContentResolver 查询 MediaStore.Images.Media.EXTERNAL_CONTENT_URI 在 api 28 上返回 null

Android - 使用 Intent 选择要播放的歌曲

android - 删除后的 MediaStore 显示文件

java - 从android应用程序登录到网站以检索和解析信息

android - 我们可以实现前置视频广告吗