Сохранить табличку в локальный файл. Например, 1 строчка - двузначный код страны, затем её цифровой код. Ну и брать из файла (или массива) по коду выбранной страны и подставлять цифры. https://ru.wikipedia.org/wiki/Телефонные_коды_стран
далее прочекать. Но! Я подумал, что этот метод неэффективный т.к страна может быть Россия, а у человека симка может быть другой страны. Как в этом случае быть?
Вот эта библиотека
https://github.com/mrmans0n/smart-location-lib
по идее тоже не подходит. Нужно как-то взять данные с симки. Или откуда-то еще
далее прочекать. Но! Я подумал, что этот метод неэффективный т.к страна может быть Россия, а у человека симка может быть другой страны. Как в этом случае быть?
Не понимаю, зачем изобретать велосипед? Человек может вообще устанавливать приложение на планшет без симки, а симку привязывать вставленную в кнопочный телефон.
Всё придумано за тебя давно: везде, где просят указать код страны при вводе номера телефона, стоит выбранным из списка с кодами и флажками (ну или названиями стран) твой. Исходя из локали на телефоне, например +7 (Russia). И можно нажать на него и поменять на другую страну при желании.
val srvName: String = Context.TELEPHONY_SERVICE
val telMng = getSystemService(srvName)
val phoneType: Int = telMng.getSimCountryIso()
Log.d("TAG", phoneType)
val srvName: String = Context.TELEPHONY_SERVICE
val telMng: TelephonyManager = (TelephonyManager) getSystemService(srvName)
// val phoneType: Int = telMng.getSimCountryIso
Log.d("TAG", telMng.getSimCountryIso().toString())
out:
> Task :app:compileDebugKotlin FAILED
e: /home/user/media/source_project/socialkotlin/app/src/main/java/com/example/socialkotlin/MainActivity.kt: (184, 42): Classifier 'TelephonyManager' does not have a companion object, and thus must be initiali\
zed here