Есть ли способ получить IMEI (GSM) / MEID (CDMA) без применения разрешения во время выполнения? Я включил следующее разрешение в Android, однако для некоторых устройств я получаю номер IMEI, а для некоторых Android устройств я получаю свой номер IMEI, а для некоторых устройств я получаю исключение {Java .Lang.SecurityException: getDeviceId в Java .Interop.JniEnvironment + InstanceMethods ... Почему я должен обрабатывать разрешения во время выполнения, несмотря на перечисление их в Манифесте?
var telephonyManager = (TelephonyManager)Forms.Context.GetSystemService(Android.Content.Context.TelephonyService);
if (telephonyManager != null)
{
sIMEI = telephonyManager.DeviceId;
}
Если нет другого способа чем дать разрешение во время выполнения и затем получить IMEI, кто-то может предложить лучший способ получить уникальный идентификатор для устройства android программным способом. (Идентификатор устройства также должен быть виден с устройства). Я попробовал нижеприведенное, но в нескольких постах говорится, что AndroidId не всегда одинаковый.
var android_id = Android.Provider.Settings.Secure.GetString(Forms.Context.ContentResolver, Android.Provider.Settings.Secure.AndroidId);