Для этого вам потребуется использовать один или несколько внутренних API-интерфейсов Google. По умолчанию они недоступны для приложений Android по разным (обычно хорошим) причинам. Например, API для включения и выключения привязки и его настройки не является общедоступным API и не может вызываться напрямую сторонними приложениями.
Вам нужно будет сделать две вещи. Во-первых, загрузите исходный код Android и найдите API, которые вам нужны, чтобы перечислить и сменить оператора. Вы можете найти исходный код Android и загрузить инструкции здесь .
Во-вторых, вам нужно будет использовать рефлексию для вызова методов этих API. Лучший подход к этому, и тот, который я использовал для игры с API-интерфейсом привязки, заключается в написании прокси-класса. Присвойте ему все те же методы, что и API, который вы хотите использовать, и внутри каждого метода используйте отражение для вызова метода API. Любой другой метод либо (а) не скомпилируется без добавления частей исходного кода Android в ваш путь к классам, а затем (б) скомпилируется, но будет взорван при развертывании.
Имейте в виду, что лучше всего это делать на устройстве под брендом Nexus, так как на нем есть ванильный код Android. Моя (успешная) попытка написать виджет домашнего экрана для включения и выключения модема работала на Nexus One, но не работала на Samsung Galaxy Tab P1000. Устройство поддерживало привязку, но Samsung изменила эту часть ОС в рамках своих усилий по переносу.