Как узнать что telephonyManager.getDeviceId(); не Null

264
22 июня 2017, 03:31

Подскажите как узнать что IMEI существует? У меня в приложении IMEI присваивается переменной

deviceIMEI = telephonyManager.getDeviceId();

Если же приложение запускать на планшете без возможности установки сим карты то приложение падает при отправке значения переменной deviceIMEI на сервер. Планшета под рукой нет и я не могу понять что происходит, то ли telephonyManager.getDeviceId(); просто равен 0, либо его просто не существует. Причем Если приложение запускать на эмулятор где imei = 0 то приложение не падает.

Answer 1

Если посмотреть код метода getDeviceId(), то можно увидеть, что он не пробрасывает никаких исключений, но, если что-то пошло не так, то он возвращает null. Исходя из этого, можете просто проверять результат на null:

deviceIMEI = telephonyManager.getDeviceId();
if (deviceIMEI != null) {
    // some actions
} else {
    // another actions
}
Answer 2

Попробуй обернуть в обработчик исключений:

try {
    deviceIMEI = telephonyManager.getDeviceId();
}
catch (Exception e) {
    Toast.makeText(getApplicationContext(), "SIM-карта не найдена" , Toast.LENGTH_LONG).show();
}
READ ALSO
Как переключать макет .xml в приложении?

Как переключать макет .xml в приложении?

Возможно ли реализовать такое:

282
Как использовать Jedis в создании JMeter тест плана?

Как использовать Jedis в создании JMeter тест плана?

У меня есть два куска кода, я не знаю, как их соединить

247
Вывод иерархического списка(дерева)

Вывод иерархического списка(дерева)

Подтолкните на мысльКак в android приложении реализовать иерархический список, чтобы при клике на родителя он раскрывался, а ниже его выводились...

223
Странный ответ regexp

Странный ответ regexp

Есть метод

193