2011-12-23 6 views
5

私のDCIM/Cameraフォルダ内の最後に保存されたイメージを取得し、それをSDカードの別の場所にコピーするアプリケーション内のメソッドがあります。私はちょうど別の携帯電話でそれをテストして、それがデフォルトでDCIM/100MEDIAに保存していることがわかりました。どのように私はこの道を得ることができますか?SDカードのどこに画像が保存されているか、DCIM /カメラ、DCIM/100MEDIAを知るには?

DCIMフォルダ内のすべてのフォルダをループし、lastModified()フォルダのパスを取得したコードを作成しました。

+1

ここにいくつかの興味深い文脈があります:http://androidforums.com/android-lounge/5930-definitive-androids-folder-structure.html#post239353、おそらく1つはフォルダの日付/時刻をチェックしたり、デフォルトの場所です。私はもっ​​と決定的な答えのためにこのスレッドを見ています –

+0

@RichardLogwoodありがとう、フォルダの日付/時間は興味深い考えでした。私は最終的に修正されたフォルダをチェックするためにいくつかのコードを書くことになった。 – Neeta

答えて

5

メーカーに依存しているようです。本に記載されているメソッドを使用することに加えて、ユーザーが重要なオプションであることを「発見」するデフォルトを選択/上書きすることもできます。プロAndroidの3から

:P 579

は残念ながら、カメラ 映像のためDCIMディレクトリの下に使用されるかもしれないディレクトリあなたに伝えるために、メソッド呼び出しはありません。 のSDカードがどこにあるかを教えてくれる方法はいくつかあります。最初は Environment.getExternalStorageDirectory()で、SDカードの最上位ディレクトリの場合はFileオブジェクト を返します。

次のGoogleの本は、フルページのテキストのリンクを参照してください: http://books.google.com/books?id=RuN0jb4YASwC&pg=PA579&lpg=PA579

  • その他の参考文献:

Do all Android phones with a built-in camera use a folder called "DCIM" to store captured images?

http://androidforums.com/android-lounge/5930-definitive-androids-folder-structure.html#post239353

+0

これはかなり面白いです!フォルダが異なる可能性があり、それを取得する具体的な方法はありません。 – Neeta

0

多分これはあなたを助けることができます。

File picDir;    
if (Build.VERSION.SDK_INT > 7) 
    picDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); 
else 
    picDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "Pictures/"); 

希望すると、これが役に立ちます。 thisに基づいています。

+2

これは質問に答えません。あなたのリンクを見てください: 'Pictures/- 全ての写真(カメラで撮られたものを除く)' – Dalmas

+0

はい、確かです。私は慎重ではない。 – Yury

関連する問題