Intereting Posts
Как создать пользовательский медиаплеер для воспроизведения пользовательского кодека в Android? Проверьте, может ли прокрутка просмотра Android Android Studio – «aidl отсутствует» … нет, это не Android Bluetooth: программное обеспечение вызвало прерывание соединения IOException? Кордова / ошибка компиляции андроида с пешеходным переходом {"Error": {"message": "(# 324) Требуется загрузить файл", "type": "OAuthException", "code": 324}} Android: CursorLoader, LoaderManager, SQLite CollapsingToolbarLayout: изменение цвета кнопки дома при расширении Как изменить цвет вкладки «underbar» в actionbarsherlock Что именно происходит, когда я устанавливаю приложение для Android? Какая польза от layoutinflator? Как отладить приложение Google Glass GDK? Android: привязка данных из базы данных к CheckBox в ListView? Как обновить галерею после программного перемещения? In-app billing андроидная аутентификация возврата требуется при попытке подписаться на продукт

Как узнать, поддерживает ли конкретное устройство поддержку SIM-карты?

Я хотел отключить функции, связанные с CALL и SMS, в моем приложении на основе наличия SIM-карты или нет. Теперь подход новичков к этому будет проверять тип телефона, используя:

if (telephonyManager1.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) 

Если true, то поддерживается.

Все было в порядке, пока я не наткнулся на Sony Tablet S, который поддерживает SIM-карту только для данных и сообщений. Нет поддержки голоса. Поэтому для этого устройства мне нужно отключить только функцию CALL, но продолжить поддержку SMS. Sony tablet возвращает TelephonyManager.PHONE_TYPE_NONE, поэтому я не могу использовать вышеуказанные методы. Также ,

 telephonyManager1.getSimState(); 

Возвращает 1, т.е. SIM_STATE_ABSENT, который также является одним и тем же в случае HTC FLYER, у которого нет поддержки самого оборудования SIM.

Итак, есть ли способ узнать, есть ли там оборудование SIM (независимо от вставленной SIM-карты или нет)?

Solutions Collecting From Web of "Как узнать, поддерживает ли конкретное устройство поддержку SIM-карты?"

использование

 PackageManager pm = this.getPackageManager(); boolean hasTelephony=pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY); 

Редактировать:

Попробуйте использовать

 TelephonyManager.getLine1Number() 

Если это возвращает null, то у вас не будет функции телефонии. Не пробовал. дать ему шанс