2016-12-27 6 views
0

は、この単純な方法で使用して自分のアプリケーションを介してバイトギャラリーの意図を通して見えるです:アンドロイド:フォルダは、多くの画像を持っているだけで、単一の画像は、私は、画像を保存してい

public static boolean StoreBytesToFile(byte[] messagebytes, String FilePathName) 
{ 
    try 
    { 
     FileOutputStream fos = new FileOutputStream(FilePathName); 
     fos.write(messagebytes); 
     fos.flush(); 
     fos.close(); 
    } 
    catch(java.io.FileNotFoundException fnfe) 
    { 
     return false; 
    } 
    catch(java.io.IOException ioe) 
    { 
     return false; 
    } 

    return true; 
} 

をして、ユーザーが保存された画像を見たいとき、Iギャラリーの意図を使用して、それを開く:

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_VIEW); 
Uri uri = Uri.parse("file://" + m_ImageFilename); 
intent.setDataAndType(uri, "image/*"); 
startActivity(intent); 

しかし、ギャラリーが同じフォルダに格納されている他の画像があるにもかかわらず、m_ImageFilenameによって指さのみ単一の画像ファイルを表示します。期待される動作は、このですが

enter image description here

:ギャラリー意図の

したがって、実際の行動はこれです重要な注意点としては

enter image description here

、私は言及する必要があり、その電話を再起動した後ギャラリーインテントは、フォルダ内のすべてのイメージを期待どおりに表示します。また、動作はJelly BeanからMarshmallowまでのすべてのバージョンで同じです。

イメージが保存されるたびに、ギャラリーインテントを通じてフォルダ内のすべてのイメージを表示するために電話を再起動する必要があります。

私はここで何が間違っているのかを教えてください。どのように修正できますか?

答えて

0

ギャラリーに保存した画像を追加する必要があります... Thisがお手伝いします。

+0

ありがとうございます。私はこの解決策を試しました。ファイルを作成してギャラリーに追加し、ギャラリービューの意図で開きます。しかし、私はそれが常に動作しないことがわかった。私の場合、2回目のファイルを表示していたときに動作しました。また、これは他の問題を引き起こしました(私が 'getContentResolver()。delete'と呼んでいたにもかかわらずギャラリーにまだ画像が残っているような)。私はSO上でこれらの機能について複数の議論があるが、完璧な解決策を見つけることができないことが分かった。 – Atul

関連する問題