Как правильно получить серийный номер с родного на Android O без вызова Java Build.getSerial()
,
На андроид < 26 версий от родного мы могли получить серийный номер устройства, используя следующий код:
string serial = read_property("ro.boot.serialno");
...
string read_property(const string& property_name) {
char propertyValue[PROP_VALUE_MAX];
int propertyLen = __system_property_get(property_name.c_str(), propertyValue);
...
}
На Android O это выдает ошибку:
Access denied finding property "ro.boot.serialno"
Хотя READ_PHONE_STATE
разрешение предоставлено. Кажется, связано с устаревшим Build.SERIAL
в Android 26.
Мне удалось получить это свойство с помощью adb
, поэтому значение не удаляется и есть:
adb shell getprop ro.boot.serialno
Задача ещё не решена.
Других решений пока нет …