我正在努力在Android中创建一项服务。本机层存储了一些即使在系统电源循环后也需要的值。我想知道我可以从本机层访问内存的哪一部分,以确保我的数据安全以供以后使用。代码片段将不胜感激。
/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系统属性变得更加强大。