Нужно знать, как я могу хранить карту в постоянной памяти Android от родного HAL - PullRequest
0 голосов
/ 14 октября 2019

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

1 Ответ

0 голосов
/ 14 октября 2019

Раздел /data должен быть единственным, доступным для записи в Android. Вы можете использовать базовые команды posix для записи /data/vendor.

int fd = open("/data/vendor/myfile", O_WRONLY | O_CREAT);
write(fd, "data", 4);
close(fd);

Примечание: Пожалуйста, примените правильную обработку ошибок:)


Альтернатива записифайлы используют системные свойства с префиксом persist..

#include <android-base/properties.h>

// ...

android::base::SetProperty("persist.myprop", "my value as a string");
// ...
std::string val = android::base::GetProperty("persist.myprop");

В приведенном выше примере используется оригинальный интерфейс системных свойств , а системные свойства Android 10 стали более мощными .

...