アプリをまた作りました。
といっても、こっちは焼き直し。
https://market.android.com/details?id=com.blogpost.hiro99ma.EjectSD
以前作っていた「EjectSD」のバージョンアップだけさせる予定だったけど、アップしたときのkeystoreがわからなくなってね。。。
やむなく作り直した次第である。
やっている内容は、こちらを参照してくだされ。
以前との違いは、対象とするディレクトリを選択できるようにしたこと。
前は、
Environment.getExternalStorageDirectory().toString()
で取れたのだが、A500でやると内蔵しているパーティションのどこかを指しているようだ。
A500だけでなく、他のAndroidも最近はそういう傾向にあるようだ。
傾向にあるのはいいが、Androidではその対策が入っていないので、統一ルールがない。
無法地帯だ!
ネットで見ると、どうも環境変数で表しているところが多そうだった。
ならば私もまねしよう。
- Environment.getExternalStorageDirectory().toString()
- System.getenv("EXTERNAL_STORAGE")
- System.getenv("SECOND_VOLUME_STORAGE")
- System.getenv("THIRD_VOLUME_STORAGE")
何も考えず、これらを列挙してユーザに選ばせるという手段にした。
だって、ルールがないから考えても仕方ないのだ。
A500では、上から順に
- /mnt/sdcard
- /mnt/sdcard
- /mnt/external_sd
- /mnt/usb_storage
となった。
そしてー、そういうのを確認しているうちにバグを発見・・・。
さっさと修正しましょう。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。