Как определить предпочтительную мобильную сеть?

Вот ситуация: я живу недалеко от границы между странами, одна из которых находится под действием законов ЕС, а другая нейтральна, за исключением случаев, когда речь идет об экономических войнах.

У меня есть телефонный контракт в ЕС, но в роуминге в другой стране мне выставляют счета по высоким ценам. Однако в большинстве мест, где я использую свой телефон, у меня есть доступ к сети ЕС, где с меня вообще не должны взимать дополнительную плату.

Я знаю, как вручную выбрать Сеть оператора сети GSM, которую я хочу, в настройках ( Выбрать оператора сети ), и это ухудшенное решение, которое я обычно использую. Проблема в том, что это занимает слишком много времени, когда обнаруживает кучу бесполезных сетей операторов.


Поэтому я хотел бы знать, есть ли способ (возможно, приложение), который облегчил бы это, например, «попробуйте использовать Сеть оператора, которая, как я знаю, предоставляется в его самом местоположении».

Сделать это «быстрой настройкой» было бы обязательным, но, вероятно, уже упоминалось где-то здесь.


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

Мой телефон не «рутирован», поэтому я не могу использовать Xposedфункции. Использование макроса выглядит круто, но было бы достаточно, если бы для этого существовала известная команда оболочки. Затем мне просто нужно сопоставить команду с макросом. Может на это ответ ?

Я немного смущен. Вы хотите изменить предпочитаемый тип сети на лету или оператора сети? Например, GSM, WCDMA (3G), LTE — это типы сетей, а Verizon, AT&T, Vodafone — операторы сетей. // Если вы используете рутированный Android, переключение на другой тип сети можно свести к однократному нажатию на выделенную быструю плитку через модуль Gravitybox xposed. Или вы можете настроить триггер на основе местоположения с помощью приложения Tasker или MacroDroid, чтобы изменить его.
@Firelord, спасибо за это замечание. Я хочу изменить сеть оператора. Отредактированный вопрос.

Ответы (1)

TL;DR: вы не можете этого сделать, по крайней мере, без рута.

Теперь причина этого связана с соображениями безопасности, поскольку нет общедоступных API-интерфейсов, которые действительно могли бы делать это с точки зрения программного обеспечения. Самое близкое, что вы можете получить без рута, - это использовать это программное обеспечение: https://play.google.com/store/apps/details?id=com.kmshack.autoset , но оно может переключать практически все (после предоставления разрешений adb), кроме сети. оператора, опять же из соображений безопасности.

Список предпочтительных сетей определяется оператором (см. Список предпочтительных роуминговых сетей ), поэтому вы не можете на него повлиять. Однако вы можете включить / отключить сетевой роуминг в меню или, если у вас есть root, сделать это программно с помощью xposed: http://repo.xposed.info/module/net.caze.roamingcontrol . Вы также можете использовать скрытое меню Android *#*#4636#*#*, где вы можете контролировать, как ваш телефон будет определять, какой тип сети (не тип оператора) предпочесть, но это касается сетей в предпочтительном списке, установленном оператором.

У вас все еще есть возможность попросить своего оператора отключить для вас роуминг, что может быть решением, однако на самом деле вам потребуется попросить их снова включить его, если вы путешествуете в другом месте ...

И, наконец, вы можете попробовать маршрут макроса через это: https://play.google.com/store/apps/details?id=com.joaomgcd.autoinput