Страница 1 из 1

Как получить IMEI на Android?

СообщениеДобавлено: 10 мар 2014, 13:25
mvasiliy
Здравствуйте! Возникла следующая проблема - не могу получить IMEI на Android в Unity3d.

На зарубежных форумах все пишут про SystemInfo.deviceUniqueIdentifier, якобы если разрешение android.permission.READ_PHONE_STATE прописано в манифесте, то это свойство возвращает IMEI. Лично у меня и на телефоне и на планшете с 3G возвращает длинную 30+ значную строку из букв и цифр совсем не похожую на IMEI (разрешение в манифесте прописано). Также пишут что при программировании на Android можно получить из следующей функции:
Синтаксис:
Используется csharp
android.telephony.TelephonyManager.getDeviceId()


Но как этот Java код прописать в Unity3d? Может кто-то находил решение?

Re: Как получить IMEI на Android?

СообщениеДобавлено: 10 мар 2014, 15:09
mvasiliy
Только что вспомнил про AndroidJavaObject и решение сразу нашлось:
Синтаксис:
Используется csharp
AndroidJavaObject TM = new AndroidJavaObject("android.telephony.TelephonyManager");

string IMEI = TM.Call<string>("getDeviceId");

Проверил, выводит то что нужно. Так что проблема решена. :)

Странно, что на зарубежных сайтах нет такого решения. Сейчас ответил там на несколько открытых вопросов по этой теме.

Re: Как получить IMEI на Android?

СообщениеДобавлено: 14 дек 2019, 22:30
VladikDEV
Сейчас это как-то по другому делается? чет не работает у меня

Re: Как получить IMEI на Android?

СообщениеДобавлено: 14 дек 2019, 23:22
Tolking
https://docs.unity3d.com/ScriptReferenc ... ifier.html

Только не советую его использовать... Он требует конские разрешения, которых пользователи боятся...