0

私のアプリはSDカードに画像を保存します。SD カードが取り外されると、アプリが強制終了されます。これを変更したいのですが、強制的に閉じるのではなく、SD カードが取り外されたときにそれらの画像を内部ストレージに置きたいです。助言がありますか?

編集 1: ログに例外はありません。メディアをアンマウントするとアプリが強制終了されるのがわかりますが、その理由はわかりません。

09-19 12:14:33.128: W/ActivityManager(27117): Killing processes unmount media at adjustment 7
09-19 12:14:33.128: W/ActivityManager(27117): Killing ProcessRecord{408f6700 17535:com.google.android.apps.maps/10074} (adj 11): unmount media
09-19 12:14:33.128: W/ActivityManager(27117): Killing ProcessRecord{40a99fd8 28691:cn.wps.livespace/10049} (adj 9): unmount media
4

2 に答える 2

0
File temp;
if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
temp =new File(android.os.Environment.getExternalStorageDirectory(),"ImageFile");
else
temp=ctx.getCacheDir();

データを読み書きするたびに呼び出す...

于 2012-09-19T07:00:36.367 に答える
0

アプリの起動時に、SD カードが既にアンマウントされているかどうかを確認できます。こちらのコード スニペットを使用して、Android デベロッパー サイトで詳細をお読みください。 外部ストレージの使用

内部ストレージから画像を表示する場合は、これらの画像を .apk ファイルにパックする必要があります。それらを /asset フォルダーに配置し、AssetManagerを使用してそれらを読み取るか、将来の使用のために内部ストレージにコピーするだけです。

于 2012-09-19T04:21:15.053 に答える