2010-06-25 22 views
2

即時通訊嘗試使一個android應用程序,每當用戶連接到一個wifi,應用程序發送一個http請求到我的服務器,稍後通過使用推送通知服務器發送一些信息給用戶。但在這裏我有一個問題:如何使這個應用程序在後臺運行,也明白如果手機連接到一個WiFi,即意味着即使applcation關閉它仍然知道,每當手機連接到一個WiFi它發送http請求。由於Android:每當手機連接到無線發送一個http請求

回答

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)); 
    } 
} 

兼:Make it a Service

相關問題