Java 如何编程android以查找特定网络?(简单教程后的问题)
我尝试使用以下示例: 但我无法执行该命令,因为该行存在以下问题: WifiManager=(WifiManager)context.getSystemService(context.WIFI\u SERVICE) 在那之后,我还遇到了其他一些错误,但[我认为]我已经完全按照教程/示例进行了操作Java 如何编程android以查找特定网络?(简单教程后的问题),java,android,eclipse,wifimanager,Java,Android,Eclipse,Wifimanager,我尝试使用以下示例: 但我无法执行该命令,因为该行存在以下问题: WifiManager=(WifiManager)context.getSystemService(context.WIFI\u SERVICE) 在那之后,我还遇到了其他一些错误,但[我认为]我已经完全按照教程/示例进行了操作 import java.util.List; import android.app.Activity; import android.net.wifi.WifiConfiguration; im
import java.util.List;
import android.app.Activity;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.util.Log;
import android.content.Context;
public class Connect extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.connect);
String networkSSID = "ANDRE-PC_NETWORK";
String networkPass = "superman";
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + networkSSID + "\""; //ssid must be in quotes
conf.wepKeys[0] = "\"" + networkPass + "\"";
conf.wepTxKeyIndex = 0;
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
conf.preSharedKey = "\""+ networkPass +"\"";
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
WifiManager wifiManager = (WifiManager)getSystemService(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();
break;
}
}
}}
您似乎混淆了一些变量名:
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
wifiManager.add(conf);
List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wm.disconnect();
wm.enableNetwork(i.networkId, true);
wm.reconnect();
break;
}
}
WifiManager WifiManager=(WifiManager)context.getSystemService(context.WIFI_SERVICE);
wifiManager.add(conf);
List List=wifiManager.getConfiguredNetworks();
用于(无线配置i:列表){
如果(i.SSID!=null&&i.SSID.equals(“\”+networkSSID+“\”)){
wm.disconnect();
wm.enableNetwork(即networkId,true);
wm.reconnect();
打破
}
}
wifiManager
应该是wm
,反之亦然。另外,context
应该是this
,或者只作为类的方法getSystemService()
我不确定add()
的问题
编辑:
嗯,add()
对于WifiManager
不存在,但是addNetwork()
存在,所以我想您需要该方法而不是add()
Edit2:
你不知道你在做什么,对吗?你甚至不理解类名和变量名之间的区别
WifiManager WifiManager
[根据您的回复更新了我的源代码]根据您的回复更新了我的源代码(和问题日志)-我仍在挠头
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
wifiManager.add(conf);
List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wm.disconnect();
wm.enableNetwork(i.networkId, true);
wm.reconnect();
break;
}
}