我正在开发一个应用程序,当WiFi连接到预定义的SSID时,我需要启动一个服务 . 谁能帮我这个?在连接WiFi(未打开)时,是否有Android中的广播被触发?
是的,它被称为ConnectivityManager:
ConnectivityManager conMan = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = conMan.getActiveNetworkInfo();
您可以使用getType()来检查它是否是WiFi连接:
netInfo.getType() == ConnectivityManager.TYPE_WIFI
有关更多信息,请参阅this post .
EDIT
要获得SSID,请尝试:
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); WifiInfo connectionInfo = wifiManager.getConnectionInfo(); connectionInfo.getSSID();
如图所示here
是的,这是 Broadcast :NETWORK_STATE_CHANGED_ACTION . 当新状态为CONNECTED时, Intent 包含BSSID作为额外状态(参见上面链接的文档) . 您可以通过包含的 NetworkInfo 对象检查状态 .
Broadcast
Intent
NetworkInfo
2 回答
是的,它被称为ConnectivityManager:
您可以使用getType()来检查它是否是WiFi连接:
有关更多信息,请参阅this post .
EDIT
要获得SSID,请尝试:
如图所示here
是的,这是
Broadcast
:NETWORK_STATE_CHANGED_ACTION . 当新状态为CONNECTED时,Intent
包含BSSID作为额外状态(参见上面链接的文档) . 您可以通过包含的NetworkInfo
对象检查状态 .