Использование моего нового телефона Android выявило небольшую проблему: я живу в стране А, но мой оператор мобильной связи из страны Б, потому что это просто дешевле. Что касается тарифов на мобильные телефоны, моя страна не является чужой для страны B. Однако я должен включить роуминг данных в своем телефоне Android. Проблема в том, что я тоже довольно часто бываю в стране С и каждый раз мне приходится отключать роуминг данных.
Поэтому я подумал о написании небольшого приложения, которое отключает роуминг данных, если я не нахожусь в стране A или B, и включает его в противном случае.
Моя первая попытка состояла в том, чтобы определить местоположение с помощью GPS, но это довольно бесполезно, потому что мне пришлось бы вычислять каждую координату, если она находится в допустимом диапазоне. Поэтому я думаю, что лучшим решением было бы прочитать с телефона текущего провайдера, и если этого провайдера нет в белом списке (который определяется мной), роуминг данных отключен.
Знаете ли вы какие-либо другие подходы? И как я мог получить имя текущего провайдера? А как программно отключить роуминг данных?