teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

mod source

2016/10/17 02:38

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -51,7 +51,7 @@
51
51
  config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
52
52
  config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
53
53
  config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
54
- config.preSharedKey = "\"xxxxxxxxxxxxxxxxxxxxx\"";
54
+ config.preSharedKey = "\"xxxxxxxxxxxx\"";
55
55
 
56
56
  //ネットワークIDを取得する 成功は0 失敗は-1
57
57
  int networkId = wifiManager.addNetwork(config);
@@ -61,7 +61,7 @@
61
61
 
62
62
  //WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
63
63
  //int networkId = 0; // 上記設定で取得できたものを使用
64
- //String targetSSID = "uwxpq2";
64
+ //String targetSSID = "xxxxx";
65
65
 
66
66
  // 例外処理 WiFi機能が無効の状態で呼び出されるとSSID検索の所でnullとなる
67
67
  try {

3

modify source

2016/10/17 02:38

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -31,7 +31,9 @@
31
31
  MyConnectWifiManager.enableNetwork(i.networkId, true);
32
32
  MyConnectWifiManager.reconnect();
33
33
 
34
+ ```
34
35
 
36
+
35
37
  ```ここに言語を入力
36
38
  WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
37
39
 
@@ -87,5 +89,4 @@
87
89
  ts.setGravity(Gravity.CENTER, 0, 0);
88
90
  ts.show();
89
91
  }
90
- ```
91
92
  ```

2

add source

2016/10/17 02:37

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -30,4 +30,62 @@
30
30
  MyConnectWifiManager.disconnect();
31
31
  MyConnectWifiManager.enableNetwork(i.networkId, true);
32
32
  MyConnectWifiManager.reconnect();
33
+
34
+
35
+ ```ここに言語を入力
36
+ WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
37
+
38
+ String ssidWpaWpa2Psk = "xxxxx";
39
+ String targetSSID = "xxxxx";
40
+
41
+ WifiConfiguration config = new WifiConfiguration();
42
+ config.SSID = "\"" + ssidWpaWpa2Psk + "\"";
43
+ config.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
44
+ config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
45
+ config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
46
+ config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
47
+ config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
48
+ config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
49
+ config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
50
+ config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
51
+ config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
52
+ config.preSharedKey = "\"xxxxxxxxxxxxxxxxxxxxx\"";
53
+
54
+ //ネットワークIDを取得する 成功は0 失敗は-1
55
+ int networkId = wifiManager.addNetwork(config);
56
+
57
+ wifiManager.saveConfiguration();
58
+ wifiManager.updateNetwork(config);
59
+
60
+ //WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
61
+ //int networkId = 0; // 上記設定で取得できたものを使用
62
+ //String targetSSID = "uwxpq2";
63
+
64
+ // 例外処理 WiFi機能が無効の状態で呼び出されるとSSID検索の所でnullとなる
65
+ try {
66
+ // ssidの検索を開始
67
+ wifiManager.startScan();
68
+ for (ScanResult result : wifiManager.getScanResults()) {
69
+ // Android4.2以降よりダブルクォーテーションが付いてくるので除去
70
+ String resultSSID = result.SSID.replace("\"", "");
71
+ if (resultSSID.equals(targetSSID)) {
72
+ // ユーザが入力したIDと検索したIDが同一だった為、接続を開始する
73
+
74
+ if (networkId > 0) {
75
+ // 先に既存接続先を無効にしてから接続します
76
+ for (WifiConfiguration c0 : wifiManager.getConfiguredNetworks()) {
77
+ wifiManager.enableNetwork(c0.networkId, false);
78
+ }
79
+ wifiManager.enableNetwork(networkId, true);
80
+ }
81
+ break;
82
+ }
83
+ }
84
+ } catch (NullPointerException e) {
85
+ // 例外処理
86
+ Toast ts = Toast.makeText(login.this, "ERROR WiFi機能が無効の状態で呼び出されています。", Toast.LENGTH_SHORT);
87
+ ts.setGravity(Gravity.CENTER, 0, 0);
88
+ ts.show();
89
+ }
90
+ ```
33
91
  ```

1

add source

2016/10/17 02:36

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -11,4 +11,23 @@
11
11
  すごくわかりやすくいえば
12
12
 
13
13
  上記ではパスを入力していません。
14
- idとPASSを入力してwifiに接続するプログラムを教えてください。
14
+ idとPASSを入力してwifiに接続するプログラムを教えてください。
15
+
16
+ ```ここに言語を入力
17
+
18
+ String netSSIDNotQuote = String.format("\"%s\"", netSSID);
19
+
20
+ WifiManager MyConnectWifiManager = (WifiManager) getSystemService (Context.WIFI_SERVICE);
21
+
22
+ WifiInfo info = MyConnectWifiManager.getConnectionInfo ();
23
+
24
+
25
+ MyConnectWifiManager.setWifiEnabled(true);
26
+
27
+ List<WifiConfiguration> list = MyConnectWifiManager.getConfiguredNetworks();
28
+ for( WifiConfiguration i : list ) {
29
+ if(i.SSID != null && i.SSID.equals(netSSIDNotQuote)) {
30
+ MyConnectWifiManager.disconnect();
31
+ MyConnectWifiManager.enableNetwork(i.networkId, true);
32
+ MyConnectWifiManager.reconnect();
33
+ ```