物事は単純でなければなりませんが、ほとんどの場合、Androidではそうではありません。ユーザーがアプリでオプションを選択した場合は、SDカードをフォーマットする必要があります。すでにOSにあるのに、なぜこれを行う必要があるのか私に聞かないでください...実用的ではありませんが、実装する必要がある要件です。ご存知かもしれませんが、[設定]、[ストレージ]、[SDカードの消去]のオプションがあります。フローズンヨーグルトのソースコードを見てみましたが、次のようなものです。
final IMountService service =
IMountService.Stub.asInterface(ServiceManager.getService("mount"));
if (service != null) {
new Thread() {
public void run() {
try {
service.formatVolume(Environment.getExternalStorageDirectory().toString());
} catch (Exception e) {
// Intentionally blank - there's nothing we can do here
Log.w("MediaFormat", "Unable to invoke IMountService.formatMedia()");
}
}
}.start();
} else {
Log.w("MediaFormat", "Unable to locate IMountService");
}
それは使用しますandroid.os.storage.IMountService
、android.os.ServiceManager
そして私はそれにアクセスできないようです。だから、私はそれを見ると、すべてのファイルを再帰的に検索して削除することができましたが、それは「私の好みではありません」...またはSDカードの消去からユーザーに画面を開始することができました。
私は立ち往生しているので、どんな助けでも大歓迎です。