最近増えてきた内蔵データ領域+SDカードみたいな構成のスマホでFATでフォーマットされたデータ領域をすべて調べる
プログラムを書いていて、次のコードでとりあえず自分の持ってる機種では動いてます。
やり方は、
1.Enviroment.getExternalStorageDirectory()でメインのデータ領域を調べる
2./mnt以下のファイル・サブディレクトリ一覧からディレクトリ且つ書き込み/読み込み可能なものを列挙
3.上記のフルパス文字列をHashSet<String>にaddすることで重複エントリ削除。

です。自分が使っている機種(モトローラPHOTON)ではSDカードのパスが/mnt/sdcard-extなので、この方法でうまくいきます
が、SDカードが/mnt以外の場所にマウントされていると、仕掛け上検知できません。
コレよりさらに汎用的な方法ってありますか?
adb shellでmountコマンドを引数なし実行した時のデータがプログラムで読めると確実だと思うのですが、/etc/mtabや
/system/etc/mtab、/etc/fstabのようなファイルが無いので取り方がわかりません。