Получить Android IMEI устройства, не использующего READ_PHONE_STATE - PullRequest
0 голосов
/ 16 июня 2020

Мне нужно получить Android IMEI устройства для аутентификации. Я понимаю, что это плохая практика; в настоящее время мы работаем над заменой системы. На данный момент это то, что мне нужно (если это вообще возможно). Все, что я могу найти, это старые вопросы, требующие READ_PHONE_STATE в манифесте, что, как я считаю, является причиной проблемы. Вызываемый код:

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

и, позже, чтобы получить IMEI:

telephonyManager.getDeviceId();

Есть ли способ запустить этот код без разрешения выше? Есть ли другой способ получить IMEI? В худшем случае я могу выпустить выпуск с обновлением SQLite, которое жестко кодирует значение каждого пользователя и получает его из базы данных каждый раз, когда им нужно сделать запрос. Это возможно, потому что у приложения всего около десятка пользователей, все внутренние сотрудники. Это лучший путь? Спасибо!

1 Ответ

1 голос
/ 16 июня 2020

Есть только один способ получить IMEI из Android 10. Вам нужны привилегированные разрешения, которые невозможно получить, если ваше приложение установлено через Google Play.

Есть разные способы, как получить уникальные идентификаторы, ознакомьтесь с лучшими практиками по ссылкам ниже.

См.:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...