2016-09-25 15 views
1

Есть ли какой-либо уникальный идентификатор для устройства Android, который не нуждается в разрешениях для его доступа?Поиск уникального идентификатора устройства, которому не требуются разрешения для его запроса

Я ищу что-то не может быть изменено в обычных случаях (не ROOTED-устройства), поэтому я могу использовать его для проверки пользователей, которые установили приложение и заблокировали пользователя для запуска только на выбранном устройстве.

Идентификатор, который я ищу, НЕ должен быть изменен, когда пользователь делает «восстановление в заводское состояние» или форматирует систему.

спасибо.

+1

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

+0

Вам нужно, чтобы оно продолжалось через установки? Или просто в рамках установки? Основываясь на том, что вы сказали здесь, это звучит как последнее. Если это так, то вы можете сгенерировать UUID и отправить его на свой сервер для хранения с этой учетной записью пользователя. Затем храните его локально на устройстве в зашифрованном виде, чтобы затруднить извлечение/изменение. – matt

+0

Если вы можете уточнить и подтвердить, что может сработать для вас, я могу написать более полный ответ. – matt

ответ

1

Основываясь на том, что вы сказали здесь, похоже, что вам нужен только уникальный идентификатор, который сохраняется в ходе установки (в отличие от постоянного согласования после удаления и переустановки).

Если это так, то вы можете создать UUID при первом запуске приложения (используя UUID.randomUUID().toString()) и отправить его на свой сервер для хранения с этой учетной записью пользователя.

Затем храните его локально на устройстве в зашифрованном виде (например, используя RealmDB with encryption или даже шифруя и сохраняя в общих привилегиях), чтобы затруднить мошенничество путем извлечения/изменения.