Intereting Posts

Что возвращает getLine1Number () с помощью двух SIM-телефонов?

Что getLine1Number() метод getLine1Number() TelephonyManager с помощью двух SIM-телефонов, таких как LG Optimus Net Dual ?

Ты вернешь только один номер … может быть!

Во-первых, какой номер вы вернетесь, зависит от устройства.

Но не менее важно, получите ли вы номер вообще, и будет ли этот номер номером телефона, совершенно непредсказуем. Это SIM и операционная зависимость.

В одном из моих приложений я начал использовать телефонный номер как уникальный идентификатор, так как я мог ожидать, что пользователь сможет легко напомнить это число. Для большинства операторов в Азии, Австралии и некоторых странах Европы телефонный номер (line1number ()) просто не сохраняется на SIM-карте! С другими вы можете получить строку нулей. Или номер, отформатированный таким образом, который может иметь смысл локально, но может испортить логику вашего приложения.

Android не поддерживает двойные сим-устройства. См.: Определение статуса двух SIM-карт в телефоне с двумя SIM-картами

Как сказал кто-то другой, вы можете получить поддержку от производителей устройств.

Кроме того, getLine1Number () не гарантирует возврат номера телефона. Он просто возвращает то, что операторы хранят в карточке, и некоторые операторы не беспокоятся о заполнении этого номера. Поэтому с некоторыми сим-картами это просто вернет null.

Если вы предоставите подробную информацию о том, чего вы пытаетесь достичь, мы сможем предложить лучшее решение.

SDK по умолчанию не поддерживает работу с двумя SIM-телефонами. Функция вернет только одно число, скорее всего, с первой активной SIM-карты.

Тем не менее, производитель иногда выдает SDK для обработки этих вещей, возможно, вам стоит взглянуть на это.