java - Wifi 连接应用程序崩溃(Java、Android)

标签 java android crash connection wifi

我是 AndroidJava完全菜鸟,我曾使用过 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/

相关文章:

java - TreeBasedTable 的 Guava TreeRow 没有排序,尽管它实现了 SortedMap?

android - 屏幕顶部的自定义 toast

.net - VS 2010 .NET 应用程序发布在 XP 或 Server 2003 上编译崩溃

mongodb - Mongodb取回所有数据库

java - 卡支持的算法列表?

java - 如何为 Web 应用程序配置 apache http 客户端 v3.0(多线程)

java - WAV音频无法从IntelliJ创建的JAR文件中播放

android - 显示/隐藏 ListView

android - Android中的非传统GUI设计

c++ - get 方法上的代码崩溃,C++