Я пытаюсь получить SSID, но он всегда возвращает
procedure TMainScreen.Button1Click(Sender: TObject);
var obj: JObject;
WifiMgr : JWifiManager;
WifiInfo : JWifiInfo;
level : integer;
SSID : string;
begin
// ACCESS_FINE_LOCATION Permission
obj := SharedActivityContext.getSystemService(TJContext.JavaClass.WIFI_SERVICE);
WifiMgr := TJWifiManager.Wrap((obj as ILocalObject).GetObjectID);
WifiInfo := WifiMgr.getConnectionInfo;
level:=WifiInfo.getRssi;
SSID := JStringToString(WifiInfo.getSSID);
Toast('SSID '+SSID+' Signal Strength : '+IntToStr(level), TToastLength.ShortToast);
end;
Я также пытался
if WifiInfo.getSupplicantState = TJSupplicantState.JavaClass.COMPLETED then
begin
SSID := JStringToString(WifiInfo.getSSID);
end
else
begin
SSID := 'Not Completed';
end;
, но он всегда возвращает Not Completed
.
ОБНОВЛЕНИЕ 1
Я запускаю Программу без WIFI-соединения.
Toast(JStringToString(WifiInfo.getSupplicantState.toString), TToastLength.ShortToast);
У меня ОТКЛЮЧЕНО.
Затем я запускаю соединение с WIFI, оно говорит СКАНИРОВАНИЕ.
Тогда я подключен, он говорит: ПОДКЛЮЧЕНО.
Но почему же тогда это не работает?
if WifiInfo.getSupplicantState = TJSupplicantState.JavaClass.COMPLETED then
и это работает
if JStringToString(WifiInfo.getSupplicantState.toString) = 'COMPLETED' then
begin
Toast('String Compare', TToastLength.ShortToast);
end;