Я получаю точно такую же ошибку.Вот исправление.Когда вы указываете, куда писать, Android автоматически разрешит ваш путь в /data/
или /mnt/sdcard/
.Позвольте мне объяснить.
Если вы выполните следующее утверждение:
File resolveMe = new File("/data/myPackage/files/media/qmhUZU.jpg");
resolveMe.createNewFile();
Это разрешит путь к корню /data/
где-то выше в Android.понял это, потому что после того, как я выполнил следующий код, он был автоматически помещен в корень /mnt/
, и я ничего не переводил самостоятельно.
File resolveMeSDCard = new File("/sdcard/myPackage/files/media/qmhUZU.jpg");
resolveMeSDCard.createNewFile();
Быстрое решение - изменить следующий код:
File f = new File(getLocalPath().replace("/data/data/", "/"));
Надеюсь, это поможет