我是 Android 和 Java 的完全菜鸟,我曾使用过 C++ 和小 C#。 我正在尝试创建一个连接到 Wifi 网络的简单 Android 应用程序。问题是它在 addNetwork() 函数上崩溃。
import android.net.ConnectivityManager;
import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
final WifiConfiguration wc = new WifiConfiguration();
String networkSSID = "********";
String networkPass = "*******";
wc.SSID = "\"" + networkSSID + "\"";
wc.preSharedKey = "\""+ networkPass +"\"";
wc.hiddenSSID = true;
wc.status = WifiConfiguration.Status.ENABLED;
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
int res = wifi.addNetwork(wc);
wifi.enableNetwork(res, true);
wifi.setWifiEnabled(true);
ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
}
}
我正在使用 Eclipse 开发一个目标版本为 2.3.3 的 Android 项目(我的手机是 2.3.6)。我是否必须在此处包含导入以外的其他文件 (MainActivity.java)?
编辑:在这个 this 中找到这个问题的答案回答。 我的附加问题的答案(我的网络列表附加了相应的 SSID,但当我 101% 确定它是“不在范围内”时,因为那是我的路由器!你知道什么可能有出了什么问题? ) 和完整的 wifi 连接操作指南 here .
最佳答案
您是否在 AndroidMainfest.xml
中声明了使用 ACCESS_WIFI_STATE 的权限
它位于您的 Android 项目的根目录中。
只需打开它并将其放在应用程序标签的上方或下方
这样
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
关于java - Wifi 连接应用程序崩溃(Java、Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17494327/