Android: всякий раз, когда телефон подключен к Wi-Fi, отправляйте http-запрос - PullRequest
2 голосов
/ 25 июня 2010

Я пытаюсь создать приложение для Android, которое, когда пользователь подключается к Wi-Fi, отправляет http-запрос на мой сервер, а позже, используя сервер push-уведомлений, отправляет пользователю несколько сообщений. но здесь у меня есть проблемы: как заставить это приложение работать в фоновом режиме, а также он понимает, если телефон подключен к Wi-Fi, значит, даже если приложение закрыто, он все равно будет знать, и всякий раз, когда телефон подключен к Wi-Fi, он отправляет http запрос. Спасибо

1 Ответ

8 голосов
/ 25 июня 2010
private void registerForWifiBroadcasts() {
  IntentFilter intentFilter = new IntentFilter();
  intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
  intentFilter.addAction(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION);
  intentFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
  mContext.registerReceiver(mReceiver, intentFilter);
}

@Override
public void onReceive(Context context, Intent intent) {
  final String action = intent.getAction();
  if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
    handleNetworkStateChanged(
      (NetworkInfo) intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO));
  } else if (action.equals(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION)) {
    handleSupplicantConnectionChanged(
    intent.getBooleanExtra(WifiManager.EXTRA_SUPPLICANT_CONNECTED, false));
  } else if (action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
    handleWifiStateChanged(intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE,
      WifiManager.WIFI_STATE_UNKNOWN));
  }
}

И: Сделай это услугой

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