首页 文章

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

提问于
浏览
0

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

2 回答

  • 0

    是的,它被称为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

  • 0

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

相关问题