実行時にSDカードまたは内部ストレージからいくつかのファイルを読み書きする必要があるプログラムを開発しています。sdcardを携帯電話にマウントすると正しく動作しますが、sdcardをアンマウントすると、アプリケーションでエラーが発生します。Htc one xのようにカードスロットがない電話や、SDカードが挿入されていない電話の場合はどうすればよいですか?それらの電話のストレージにどのように書き込むことができますか?このファイルを/data/data/my.app.packageフォルダーに書き込みたくありません。別のアプリからファイルを読み取れる場所に書き込みたいです。 まず、このコードでストレージの状態を確認し、SDカードが挿入されて書き込み可能であれば問題ありません。しかし、SDカードが存在しない場合、私は本当に私が何をしなければならないのかわかりません。
string _location;
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
_location=Environment.getExternalStorageDirectory()+"/myfolder/";
Toast.makeText(context, _location, 1000).show();
}
else
{
_location="/myfolder/"
Toast.makeText(context, Environment.getExternalStorageDirectory().toString(), 1000).show();
}
mysync mys=new mysync(); // Asynctasc that writes some file on _location path
mys.execute(_location);
私はとても混乱していて、残念ながら私は大きな内部ストレージを備えた電話を持っていません。私を助けてください。