小编Sta*_*ing的帖子

以编程方式将Android设备连接到Hotspot(没有互联网)切换回带有互联网的wifi

对不起我的英语不好.我正在编写一个代码来连接到另一个Android设备热点.它连接起来了.但是,在我的情况下,热点将没有互联网.现在连接的设备,切换回与互联网的另一个wifi网络.除了我的方式,有没有更好的方法连接到热点?我的代码如下:

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout);
    AppCompatButton btnConnect=findViewById(R.id.btnConnect);
    btnConnect.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            registerReceiver(mWifiBroadcastReceiver , new IntentFilter("android.net.wifi.STATE_CHANGE"));
            EditText eSSID=findViewById(R.id.ssid);
            EditText ePassword=findViewById(R.id.password);
            String ssid = eSSID.getText().toString();
            String key = ePassword.getText().toString();
            WifiConfiguration wifiConfig = new WifiConfiguration();
            wifiConfig.SSID = String.format("\"%s\"" , ssid);
            wifiConfig.preSharedKey = String.format("\"%s\"" , key);
            connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);

            int netId = wifiManager.addNetwork(wifiConfig);
            wifiManager.disconnect();
            wifiManager.enableNetwork(netId , true);
            wifiManager.reconnect();
        }
    });


}
Run Code Online (Sandbox Code Playgroud)

接收器是:

  private BroadcastReceiver mWifiBroadcastReceiver = new BroadcastReceiver() { …
Run Code Online (Sandbox Code Playgroud)

android

7
推荐指数
1
解决办法
1022
查看次数

标签 统计

android ×1