Я занимаюсь разработкой приложения для Android с использованием форм xamarin (в будущем, возможно, будет разработано приложение uwp, а не приложение ios).
Я пробовал некоторые библиотеки, такие как
https://github.com/jamesmontemagno/DeviceInfoPlugin
В библиотеке свойство с именем Id фактически является Build.Serial, и для этого есть примечание
Id Этот идентификатор не следует использовать в качестве стабильного идентификатора, поскольку каждый поставщик на Android
может или не может установить его на другое значение, и на iOS оно изменяется
когда приложения удалены.
и я попробовал метод GenerateAppId из той же библиотеки, но он генерирует разные идентификаторы для каждого вызова.
После этого я попробовал https://www.nuget.org/packages/Acr.DeviceInfo/
и DeviceId также является Build.Serial
Как я понимаю, этот идентификатор может измениться. Поэтому мне нужен действительно стабильный уникальный Id из устройства, и я смогу сгенерировать тот же уникальный Id из того же устройства (я не хочу его сохранять, поэтому получу число по определенному расчету)
Я использовал
Android.Provider.Settings.Secure
.GetString(context.ContentResolver, Android.Provider.Settings.Secure.AndroidId);
и Android.OS.Build.Serial
Я получаю два разных числа, но не уверен, что одно из них стабильно.
Есть ли способ получить доступ к действительно IMEI или серийному номеру, или к обоим, или к чему-то уникальному (я предпочитаю, чтобы это не требовало какого-либо разрешения, но если мне нужно, то это нормально)