Android外部存储未同步

时间:2016-12-13 12:04:00

标签: android android-image android-navigation-drawer android-external-storage android-navigationview

我正在尝试更新设置活动中的用户个人资料照片。在此期间,我也想更新外部存储中的照片。

if (checkExternalStorage()) {
        File filePath = context.getExternalCacheDir();
        File myDir = new File(filePath.getAbsolutePath() + path);
        myDir.mkdirs();
        File file = new File(myDir, fileName);
        if (file.exists()) file.delete();
        try {
            FileOutputStream out = new FileOutputStream(file);
            finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
            out.flush();
            out.close();
            Log.d(TAG, "File at path " + myDir.getAbsolutePath() + " was saved");

        } catch (Exception e) {
            Log.e(TAG, "Unsuccessful storing image in SD card " + e.getMessage());
        }

    }

我已将照片成功保存在外部存储设备中。之后,我想通过在生命周期onResume中调用的这行代码更新导航抽屉中的个人资料照片。

File filePath = getExternalCacheDir();
        File myDir = new File(filePath.getAbsolutePath() + STORAGE_IMAGES_PATH + STORAGE_MY_PROFILE_PHOTO);
        if (ImageUtils.checkExternalStorage() && myDir.exists()) {
            Picasso.with(this).load(myDir).into(profilePhoto);
        }

但导航抽屉中的照片仅在我重新启动应用程序时更新。如果我在设备上打开包含已保存图像的文件夹,则照片是最新的您知道它可能出现问题吗?

1 个答案:

答案 0 :(得分:0)

我用这行代码解决了。

 File filePath = getExternalCacheDir();
                File myDir = new File(filePath.getAbsolutePath() + STORAGE_IMAGES_PATH + STORAGE_MY_PROFILE_PHOTO);
                Picasso.with(this).invalidate(myDir);