Really Prefer Network: выберите моего собственного сетевого провайдера, как только он станет доступен (из кода) - PullRequest
14 голосов
/ 03 октября 2010

Я живу недалеко от границы и работаю в другой стране.Поэтому я выбрал своего собственного сетевого провайдера в качестве фаворита.Тем не менее, я замечаю, что он остается у поставщика так долго, как только может.Поэтому, когда я приезжаю из своей страны, я сохраняю свою сеть, даже когда я пересекаю границу, однако, когда я перехожу на другую сторону, она сохраняет чужую сеть, даже когда моя любимая сеть уже доступна.Я знаю это, потому что когда я хочу вручную выбрать его, он доступен из списка.

Теперь я хотел бы создать приложение, которое будет автоматически искать мою предпочтительную сеть, когда она находится в роуминге, каждый разон соединяется с другой сотовой вышкой.Теперь я понимаю, что раньше я мог слушать, как ячейка изменилась с помощью приемника вещания, но теперь это невозможно.(Что очень жаль) И я читал из этого: Программно подключаясь к другим операторам сети Что кажется, что я не смогу выбрать другого поставщика из приложения по соображениям безопасности.(По крайней мере, с документированными вызовами API).

Однако меня не волнует публичный API или нет, потому что я не собираюсь распространять его в Android Market.Это просто приложение, которое сделает мою жизнь проще, вероятно, откроет исходный код, так что другие люди могут использовать его, если захотят.

Я мог бы использовать некоторые подсказки, чтобы все заработало.Так что, может быть, есть другие вещания, которые я могу слушать, например, уровень сигнала или что-то подобное, это запустит мой код, чтобы проверить, могу ли я переключить сеть.Я бы предпочел, чтобы это работало в качестве приемника широковещания, я также читал, что при использовании ячейки ячейки из службы, я не буду получать обновления, когда экран выключен, что в данном случае не соответствует цели.

И затем, я был бы очень признателен за некоторые подсказки / указатели относительно того, как искать источник Android для материала, который я могу использовать для автоматического выбора сети.

1 Ответ

1 голос
/ 21 августа 2011

Поскольку кажется, что вы путешествуете по предсказуемому пути между сетями, рассматривали ли вы возможность использования ProximityAlert в LocationManager? Вы определяете круг вокруг некоторого местоположения, и когда ваше устройство входит / выходит из этого круга, широковещательный сигнал передается вашему получателю.

Я написал раздел об этом в Pro Android 3, глава 17. На нашем веб-сайте есть пример приложения:

http://www.androidbook.com/projects

Нажмите на ссылку для zip-файлов проекта, затем найдите ProAndroid3_Ch17_Maps.zip

Инструкции по загрузке и импорту приведены по ссылке выше. Проект внутри почтового индекса называется ProximityAlertDemo. Это очень просто, просто чтобы показать само предупреждение о близости, но не должно быть слишком сложно включить его в приложение или сервис. Боюсь, у меня нет ответа на вопрос о том, как переключить сети из кода. Похоже, на данный момент лучшим вариантом для вас является предложение запустить экран настроек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...