当前位置: 首页 > 知识库问答 >
问题:

从手机内存读取图像(无SD)

钱嘉致
2023-03-14

我现在正为一个问题苦苦挣扎,希望你能帮我解决...基本上,我试图通过这种方式从手机的内部图库中获取一些图像

意向意向=新意向();

Intent.SetAction(Intent.Action_Get_Content);

startActivityForResult(intent.createchooser(intent,“select picture”),SELECT_IMAGE);

但是当我使用以下命令在onActivityResult方法中获取Uri时

数据为空(从SD卡取图像时不会发生这种情况)

我该怎么解决呢?

此外,作为次要问题,我如何能够得到1个以上的图像?我读过关于使用ACTION_SEND_MULTIPLE的文章,但这为发送方法提供了一个选择,而不是从何处获取图像...

事先谢谢你

共有1个答案

卫皓
2023-03-14

试试这个

    public static final int GALLERY_CODE = 322;
    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Picture"),
            GALLERY_CODE);


         @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { //Assinging on corresponding import
    super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == GALLERY_CODE && resultCode == RESULT_OK) {
        Uri selectedImageUri = data.getData();
        selectedImagePath = getPath(selectedImageUri);
        try {
            //add logic for coping file
        } catch (Exception e) {
            e.printStackTrace();
        }
       }

    }

    public String getPath(Uri uri) {
    String[] projection = { MediaStore.Images.Media.DATA };
    Cursor cursor = managedQuery(uri, projection, null, null, null);
    int column_index = cursor
            .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);
}
 类似资料:
  • 谁能指导我怎么做这件事吗? 我是一个新的android所以请,如果我能有一个详细的程序,我会很感激。

  • 问题内容: 我正在尝试在J2ME中创建音乐播放器。我想从手机存储器和存储卡中读取所有mp3文件,并将其添加到列表中。如何检索这些.mp3文件? 问题答案: 阅读本文档以浏览文件和文件夹 用于读取存储卡中的文件, 在许多设备中,您可以通过E:\搜索, 而对于电话存储器,则可以通过C:\搜索 请参阅以下链接以获取帮助 http://www.java2s.com/Code/Java/J2ME/FileC

  • 问题内容: 我正在尝试在J2ME中创建音乐播放器。我想从手机存储器和存储卡中读取所有mp3文件,并将其添加到列表中。如何检索这些.mp3文件? 问题答案: 阅读本文档以浏览文件和文件夹 用于读取存储卡中的文件, 在许多设备中,您可以通过E:\搜索, 而对于电话存储器,则可以通过C:\搜索 请参阅以下链接以获取帮助 http://www.java2s.com/Code/Java/J2ME/FileC

  • 我正在尝试从管道(如stdin,named pipe等)加载图像。 这是我的示例代码: #包括“opencv2/opencv.hpp” 使用名称空间CV; int main(int argc,char**argv){ } 会有用的,但是 而且 不能工作,并且Mat img的行和列为0。 真正的文件和管道有什么区别?

  • 我首先将一幅图像保存到Google云存储中,同时将mime类型设置为“image/png”,并以文件结尾随机命名,例如“.png”。文件似乎存储正确。我可以在数据存储查看器中看到它们: 但如果我尝试用com再次加载它。谷歌。阿彭金。api。图像。ImagesService和调用ImagesService。getServigUrl(),它抛出错误: 所以这似乎认为这不是一个图像。但为什么呢?它有mi

  • 问题内容: 佳能/尼康/其他相机将传感器的原始输出保存为某些专有格式(.CR2等)。是否有旨在读取它们并将其转换为可管理的BufferedImages的Java库? 在这里,我不需要关心完全可定制的转换(类似于ufraw或imagemagick),而是“可以正常工作”以渲染此类图像的简单预览的简单方法。 问题答案: 我去过你那里,我对你有感觉。最好的选择是使用基于Adobe或dcraw的程序自动创