我正在开发一个应用程序,当WiFi连接到预定义的SSID时,我需要启动一项服务。谁能帮我这个?在连接WiFi(未打开)时,是否有Android中的广播被触发?
答案 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)
是的,这里有一个Broadcast
:NETWORK_STATE_CHANGED_ACTION。当新状态为CONNECTED时,Intent
包括BSSID作为额外状态(参见上面链接的文档)。您可以通过包含的NetworkInfo
对象检查状态。