Android:每当手机连接到wifi发送一个http请求

Del*_*ega 2 android background

我试图制作一个Android应用程序,每当用户连接到一个wifi时,应用程序发送一个http请求到我的服务器,稍后通过使用推送通知服务器发送一些消息给用户.但在这里我有一个问题:如何使这个应用程序在后台运行,它也理解手机是否连接到wifi,意味着即使applcation关闭,它仍然知道,每当手机连接到wifi,它发送http请求.谢谢

Lox*_*ley 8

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));
  }
}
Run Code Online (Sandbox Code Playgroud)

并且:使它成为一种服务