После смены телефона столкнулся с проблемой, что CoolReader не сохраняет настройки.
В моём случае он не сохранял настройки шрифта в документах, каждый раз при запуске программы она сбрасывала шрифт на стандартный.

Такое происходит на телефонах с Android 4.4 и новее.

Как известно, начиная с этой версии операционной системы, Google решили запретить установку приложений и запись конфигурационных файлов приложениями на карту памяти по умолчанию (переносить уже установленные приложения на карту памяти можно).

Из моих наблюдений доступ к записи конфигурационных файлов имеют только предустановленные системные приложения, остальные, если и умеют писать на карту, то потом не могут считать то, что там записали.

Взамен карты памяти приложениям доступна часть памяти телефона, которая представляется приложениям как sdcard0 (а карта памяти соответственно sdcard1).

CoolReader не может сориентироваться в таком количестве карт памяти и после установки назначает папкой для сохранения настроек папку в памяти телефона, а, когда вы делаете в нём настройки, он сохраняет их на карте памяти и не может считать, т.к. грузит настройки из sdcard0, а ею, как я уже писал выше на Android 4.4 и новее является память телефона.

Как же сделать так, чтобы после запуска CoolReader включался с нашими настройками?

Проводник Android скрытые файлы


1) После настройки параметров CoolReader выйти из него.
2) Заходим в Диспетчер файлов или Проводник или другой файловый менеджер, заходим в его настройки и выставляем параметр – отображение скрытых файлов – Показать скрытые файлы.
3) У вас на карте памяти станет видна папка .cr3
4) Зайдите в эту папку и скопируйте находящийся в ней файл cr3.ini
5) Теперь перейдите в папку .cr3, но находящийся уже в памяти телефона и вставьте файл cr3.ini в неё.

Всё! Включаем CoolReader и видим, что он наконец-то включается с нашими настройками.

Если поменяете какие-то настройки в CoolReader, то не забудьте, что снова файл cr3.ini с карты памяти придётся копировать в память телефона.