Delphi Android getConfiguredNetworks

Delphi Android getConfiguredNetworks,android,delphi,Android,Delphi,我正在尝试获取已保存网络的列表,仅删除具有特定SSID的网络。 这就是我到现在为止所做的: procedure TMainScreen.Button4Click(Sender: TObject); var obj: JObject; WifiMgr : JWifiManager; Networks : JList; i : integer; begin obj := TAndroidHelper.Context.getSystemService(TJContext.

我正在尝试获取已保存网络的列表,仅删除具有特定SSID的网络。 这就是我到现在为止所做的:

procedure TMainScreen.Button4Click(Sender: TObject);
var obj: JObject;
    WifiMgr : JWifiManager;

    Networks : JList;
    i : integer;
begin
  obj := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.WIFI_SERVICE);
  WifiMgr := TJwifiManager.Wrap((obj as ILocalObject).GetObjectID);

  Networks :=  WifiMgr.getConfiguredNetworks;

  for i := 0 to Networks.size-1 do
  begin


  end;

  Toast('Configured Networks : '+inttostr(Networks.size),TToastLength.ShortToast);

end;
这将获得网络列表,但我不知道如何访问配置1 SSID

我在Stackoverflow上找到了以下示例。但我很难理解/转换它

List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
    if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
         wifiManager.disconnect();
         wifiManager.enableNetwork(i.networkId, true);
         wifiManager.reconnect();               

         break;
    }           
 }
List List=wifiManager.getConfiguredNetworks();
用于(无线配置i:列表){
如果(i.SSID!=null&&i.SSID.equals(“\”+networkSSID+“\”)){
wifiManager.disconnect();
wifiManager.enableNetwork(即networkId,true);
wifiManager.reconnect();
打破
}           
}
请帮忙。 当做
罗伯特

我设法这样解决了这个问题:

procedure TMainScreen.Button4Click(Sender: TObject);
var obj: JObject;
    WifiMgr : JWifiManager;

    Networks : JList;
    Config : JWifiConfiguration;
    i : integer;
begin
  obj := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.WIFI_SERVICE);
  WifiMgr := TJwifiManager.Wrap((obj as ILocalObject).GetObjectID);

  Networks := WifiMgr.getConfiguredNetworks;

  for i := 0 to Networks.size-1 do
  begin
    Config := TJWifiConfiguration.Wrap((Networks.get(i) as ILocalObject).GetObjectID);

    if JStringToString(Config.SSID) = '"robert-net2"' then
    begin
      Toast('Network ID '+inttostr(Config.networkId), TToastLength.ShortToast);
      WifiMgr.removeNetwork(Config.networkId);
    end;

  end;

end;