知道什么时候wifi连接到特定的SSID

时间:2015-01-11 11:45:38

标签: android wifi

我正在开发一个应用程序,当WiFi连接到预定义的SSID时,我需要启动一项服务。谁能帮我这个?在连接WiFi(未打开)时,是否有Android中的广播被触发?

2 个答案:

答案 0 :(得分:0)

是的,名为ConnectivityManager

ConnectivityManager conMan = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo netInfo = conMan.getActiveNetworkInfo();

您可以使用 getType()来检查它是否是WiFi连接:

netInfo.getType() == ConnectivityManager.TYPE_WIFI

有关详细信息,请参阅this post

修改

要获取SSID,请尝试:

WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo connectionInfo = wifiManager.getConnectionInfo();
connectionInfo.getSSID();

here

答案 1 :(得分:0)

是的,这里有一个BroadcastNETWORK_STATE_CHANGED_ACTION。当新状态为CONNECTED时,Intent包括BSSID作为额外状态(参见上面链接的文档)。您可以通过包含的NetworkInfo对象检查状态。