SDカードから読み書きする2つのAndroidアプリが市場に出回っています。そのうちの 1 つは、バックアップ ファイルを SD カードに保存します。問題は、新しいスマートフォンには 2 つの SD カードがあることです。/mnt/sdcard に埋め込まれたものと、標準化されたディレクトリ パスを持たないリムーバブル SD カードです。私が望んでいるのは、ユーザー向けの 2 つのオプションを持つラジオ ボタン グループを追加することです。内部 SD カード (デフォルト) にバックアップを保存するか、リムーバブル SD カードに保存します。問題は、リムーバブル SD カードの正しいパスを取得し、そのパスを変数に格納することです。
すべての Android デバイスで動作するように見える Linux コマンドを発見しました。「df」コマンドは、組み込み SD カード (/mnt/sdcard) とリムーバブル SD カードの両方の場所を一覧表示します。dataoutputstream クラスを使用してコマンドを送信する方法は知っていますが、コマンドの出力から読み取り、出力から必要な部分だけをフィルタリングすることで行き詰まっています。
「df」コマンドの出力の例を次に示します。
/ $ df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 369128 32 369096 0% /dev
tmpfs 369128 0 369128 0% /mnt/asec
tmpfs 369128 0 369128 0% /mnt/obb
/dev/block/mmcblk0p1 516040 476832 39208 92% /system
/dev/block/mmcblk0p7 13813852 2948206 10865646 21% /data
/dev/block/mmcblk0p2 533616 8574 525042 2% /cache
tmpfs 369128 0 369128 0% /Removable
/dev/fuse 13813852 2948206 10865646 21% /mnt/sdcard
/dev/block/vold/179:9 30306304 12222624 18083680 40% /Removable/MicroSD
上記の出力は、ご覧のとおり、/Removable/MicroSD パスをリムーバブル SD カードのディレクトリとして使用する ASUS Transformer タブレットからのものです。繰り返しますが、コードでこの出力を取得して不要なデータをすべて除外し、パスを変数に格納するだけです。
コードを書いてくれる人を探しているわけではありません。出力を取得してフィルタリングできるクラスへのより良い参照を見つける必要があるだけです。
どんな助けでも大歓迎です。