Как я могу точно узнать, что на устройстве действительно есть GSM, CDMA или другое оборудование сотовой сети (а не только WiFi)? Я не хочу проверять текущее состояние подключенной сети, потому что в данный момент устройство может быть отключено. И я не хочу проверять идентификатор устройства через ((TelephonyManager) act.getSystemService (Context.TELEPHONY_SERVICE)). GetDeviceId (), потому что некоторые устройства просто выдадут вам полиморфный или фиктивный идентификатор устройства.
На самом деле, мне нужно точно проверить сотовое оборудование, чтобы пропустить TelephonyManager.getDeviceId и выполнить проверку Settings.Secure.ANDROID_ID на тех устройствах, у которых нет сотового радио. У меня есть по крайней мере один планшет (Storage Options Scroll Excel 7 "), который возвращает разные IMEI каждый раз, когда вы его спрашиваете, хотя он должен возвращать null, поскольку у него нет радиомодуля (здесь такая же ситуация: Android: getDeviceId () возвращает IMEI, adb shell dumpsys iphonesubinfo возвращает идентификатор устройства = NULL). Но мне нужно иметь надежный идентификатор устройства, который будет одинаковым каждый раз, когда я спрашиваю.
Буду рад услышать ваши мысли!