如何在Android中自动登录以打开需要网络用户/密码的WiFi?

如何在Android中自动登录以打开需要网络用户/密码的WiFi?,android,networking,login,wifi,Android,Networking,Login,Wifi,首先,我通过编程连接到开放式Wifi public static boolean conectar(Context ctx, String user, String pass){ boolean conectado = false; String networkSSID = "wifiguay.es"; WifiConfiguration conf = new WifiConfiguration(); conf.SSID = "\"" + networkSS

首先,我通过编程连接到开放式Wifi

public static boolean conectar(Context ctx, String user, String pass){

    boolean conectado = false;

    String networkSSID = "wifiguay.es";

    WifiConfiguration conf = new WifiConfiguration();
    conf.SSID = "\"" + networkSSID + "\"";   

    conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);

    WifiManager wifiManager = (WifiManager) ctx.getSystemService(Context.WIFI_SERVICE); 
    wifiManager.addNetwork(conf);

    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();               
             conectado = true;

             break;
        }           
    }

    return conectado;
}
现在,我不知道如何放置数据。

您可以看看这个问题,您必须根据自己的需要对其进行自定义,即更改字段名

此外,我不知道这是否适用于您的情况,但是存储敏感的密码是棘手的,最好考虑简单地打开浏览器,让用户或浏览器如果它的设置保存凭据,注意输入密码。

public class ConexionEstablecida extends BroadcastReceiver  {

    public void onReceive(Context context, Intent intent) {

        NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
        if(info != null){
            if(info.isConnected()){
                WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
                WifiInfo wifiInfo = wifiManager.getConnectionInfo();
                String ssid = wifiInfo.getSSID();
                String networkSSID = "wifiguay.es";

                if(ssid.equalsIgnoreCase("\"" + networkSSID + "\"")){
                    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://wifiguay.lan/login?dst=http%3A%2F%2Fwww.google.es%2F"));    
                    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    context.startActivity(i);
                }
            }
        }
    }
}
编辑:该问题的示例:

mWebView.loadUrl(url);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
    String user="u";
    String pwd="p";
    view.loadUrl("javascript:document.getElementById('nameofyourusernamefield').value = '"+user+"';document.getElementById('nameofyourpasswordfield').value='"+pwd+"';");
}

})

它可以工作,我只需要隐藏webView并准备好。非常感谢!