0

ビットマップ イメージを Android の内部ストレージに保存しました。ここで、/myphoto.jpg であるこの画像を取得し、shareIntent を使用して共有したいと考えています。内部ストレージ メモリから myphoto.jpg を読み取る方法を教えてください。理想的には、ファイル パスを取得することを期待しています。

    ByteArrayOutputStream outputBuffer = new ByteArrayOutputStream();
    bm.compress(Bitmap.CompressFormat.JPEG, 100, outputBuffer);
    byte[] byteImage1=outputBuffer.toByteArray();


    //save file to internal storage
    FileOutputStream outputStream;

    try {
      outputStream = context.openFileOutput("myphoto.jpg", Context.MODE_PRIVATE);
      outputStream.write(byteImage1);
      outputStream.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
4

1 に答える 1

1

以下のコードを使用して、SD カードからすべての画像を取得できます。

FileFilter filterForImageFolders = new FileFilter() 
    {            
        public boolean accept(File folder) 
        { 
            try 
            { 
                //Checking only directories, since we are checking for files within 
                //a directory 
                if(folder.isDirectory()) 
                { 
                    File[] listOfFiles = folder.listFiles(); 

                    if (listOfFiles == null) return false; 

                    //For each file in the directory... 
                    for (File file : listOfFiles) 
                    {                            
                        //Check if the extension is one of the supported filetypes                           
                        //imageExtensions is a String[] containing image filetypes (e.g. "png")
                        for (String ext : imageExtensions) 
                        { 
                            if (file.getName().endsWith("." + ext)) return true; 
                        } 
                    }                        
                } 
                return false; 
            } 
            catch (SecurityException e) 
            { 
                Log.v("debug", "Access Denied"); 
                return false; 
            } 
        } 
    };

このメソッドを次のように使用します。

File extStore = Environment.getExternalStorageDirectory();
File[] imageDirs = extStore.listFiles(filterForImageFolders);
于 2013-06-07T10:47:05.070 に答える