在您可以使用Kotlin访问某些页面之前,如何让我的Android应用程序连接到特定的单个wifi

在您可以使用Kotlin访问某些页面之前,如何让我的Android应用程序连接到特定的单个wifi,android,kotlin,wifimanager,ssid,Android,Kotlin,Wifimanager,Ssid,所以我正在开发一个Android应用程序,它应该使用WiFi来确定用户是否在某个建筑物内,并允许他们登记入住 是否可以只允许用户在检测到特定Wifi网络后才签入?我想这样做是因为我们在一栋大楼里,我希望应用程序的用户只能通过其ssid访问该屋的一个WiFi,然后才能在应用程序上签入/登录 关于如何在kotlin上实现这一点,你有什么想法吗? 我已经尝试过实现这一点,但没有成功: Private fun conWifi(context: Context){ val wifiMana

所以我正在开发一个Android应用程序,它应该使用WiFi来确定用户是否在某个建筑物内,并允许他们登记入住

是否可以只允许用户在检测到特定Wifi网络后才签入?我想这样做是因为我们在一栋大楼里,我希望应用程序的用户只能通过其ssid访问该屋的一个WiFi,然后才能在应用程序上签入/登录

关于如何在kotlin上实现这一点,你有什么想法吗? 我已经尝试过实现这一点,但没有成功:

    Private fun conWifi(context: Context){
    val wifiManager: WifiManager = context.applicationcontext.getSystemService(Context.WIFI_SERVICE) as WifiManager
    val wifiInfo: WifiInfo! = wifiManager.conectionInfo

   if (wifiInfo.ssid.equals("SamsungWifi")){

           // some codes like show another page

       }

       else{

          // Toast...
       }

    }
然后我叫它:

enter.setonClickListener() {it: View!

     conWifi(applicationContext)

}
请不要生气,我是用电话打的,请有人帮我排版,谢谢。

根据:

如果SSID可以解码为UTF-8,则返回时会用双引号括起来。否则,它将作为十六进制数字字符串返回。如果当前没有连接的网络,或者如果调用方没有足够的权限访问SSID,则SSID可能是
WifiManager#UNKNOWN_SSID

Build.VERSION\u CODES.JELLY\u BEAN\u MR1
之前,此方法始终返回SSID,周围没有引号

也许您需要检查双引号。

根据以下内容:

如果SSID可以解码为UTF-8,则返回时会用双引号括起来。否则,它将作为十六进制数字字符串返回。如果当前没有连接的网络,或者如果调用方没有足够的权限访问SSID,则SSID可能是
WifiManager#UNKNOWN_SSID

Build.VERSION\u CODES.JELLY\u BEAN\u MR1
之前,此方法始终返回SSID,周围没有引号


也许你想检查双引号。

我的问题不是指这个,我想让应用程序显示下一个活动,如果wifiInfo.ssid==“SamsungWifi”,否则它会返回一条类似taost的错误消息,因此它将保留在该活动中。@oriohac请解释“不工作”到底是什么意思,即使使用正确的SSID也无法登录?或者相反,即使SSID不正确,仍然可以登录,或者如果您收到异常etcI,则表示当用户仅连接到“SamsungWifi”,我想将其作为办公室WiFi的一个实例,那么该用户可以进入下一页进行登录,但不起作用,我需要有人帮助我,因为只有Toast消息出现,if()块不起作用,因此如果有人登录到WiFi,他/她就可以访问应用程序的其他部分。当你连接到WiFi时,
wifiInfo.ssid
的值是多少?@oriohac文档暗示你应该检查
“\”WiFi\“
,除了
“SamsungWifi”
。这不是我的问题所指的,我希望应用程序显示下一个活动,如果wifiInfo.ssid==“SamsungWifi”,否则它将返回类似taost的错误消息,因此它将保留在该活动中。@oriohac请解释“不工作”的确切含义,即使使用正确的SSID也无法登录?或者相反,即使SSID不正确,仍然可以登录,或者如果您收到异常etcI,则表示当用户仅连接到“SamsungWifi”,我想将其作为办公室WiFi的一个实例,那么该用户可以进入下一页进行登录,但不起作用,我需要有人帮助我,因为只有Toast消息出现,if()块不起作用,因此如果有人登录到WiFi,他/她就可以访问应用程序的其他部分。当你连接到WiFi时,
wifiInfo.ssid
的值是多少?@oriohac文档暗示你应该检查
“\”WiFi\“
,除了“三星WiFi”。