1

立ち往生しているので、誰かが助けてくれることを願っています:)ギャラリーから画像をロードして画面に表示できるアクティビティがあります。その画面には、その画像を削除するオプションがあります。画像を削除するオプションを選択すると、画像は正常に削除されますが、別の画像を読み込むことを選択するとギャラリーに表示されたままになります。そのため、ユーザーは引き続きギャラリーから古い画像を選択できますが、この場合、削除されているため画面に表示されません。写真が削除された後にギャラリーを更新する方法は?

私はこれを試しましたが、うまくいかないようです:

sendBroadcast(new Intent(
            Intent.ACTION_MEDIA_MOUNTED,
            Uri.parse("file://" +  Environment.getExternalStorageDirectory())));

画像を削除するたびに SD カードを手動でスキャンするのは避けたいです。

4

2 に答える 2

4
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
        Uri.parse("file://" +  Environment.getExternalStorageDirectory())));

上記のコードを froyo で使用すると、コードが froyo で正常に動作するという結果が得られました。

于 2013-06-21T03:47:44.557 に答える
0

問題は、削除時に絶対パスではなく画像URIを渡していたため、失敗したことです。コードは次のようになります。

File file = new File("some URI I received as a result of one method")
path = file.getAbsolutePath();
File f = new File(path);
    if (f.exists()) {
        if (f.delete()) {
            Log.w("DELETED","file Deleted");
        } else {
            Log.w("NOT DELETED","file not Deleted");
        }
    }

    sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
            Uri.parse("file://" +  Environment.getExternalStorageDirectory())));

    imageViewField.setImageBitmap(null);

したがって、その方法は機能しますが、ファイルはまったく削除されなかったため、ギャラリーに残っていました。

于 2012-12-20T09:35:47.840 に答える