我正在尝试制作一个 android 应用程序,每当用户连接到 wifi 时,应用程序都会向我的服务器发送一个 http 请求,稍后通过使用推送通知服务器向用户发送一些消息。但在这里我有一个问题:如何让这个应用程序在后台运行并且它知道手机是否连接到 wifi,这意味着即使应用程序关闭它仍然知道并且每当手机连接到 wifi 它发送http 请求。谢谢
最佳答案
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));
}
}
关于安卓 : whenever the phone is connected to wifi send an http request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3120404/