如何以编程方式将Google Glass连接到WiFi网络?

时间:2015-08-06 15:43:01

标签: android google-glass android-wifi wifimanager

我一直关注的一个基本问题是,考虑到Google Glass使用QR码连接到网络的传统方式,是否可以连接到Android代码中的WiFi网络。如果可能的话,我的保存优雅将是一段代码,允许我使用SSID和密钥连接到指定的网络。这样我就可以通过套接字或其他方法进行通信和发送数据。

出于测试目的,我尝试连接到笔记本电脑的WiFi热点,然后尝试连接到Arduino,但无济于事。以下是ConnectActivity.java文件中的代码:

package josuablom.gimbalcontrol;

+import...

public class ConnectActivity extends Activity
{
    private CardScrollView mCardScroller;
    private List<Card> mCards;
    private GestureDetector mGestureDetector;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_connect);
    }

    public ConnectActivity()
    {

        //Code to connect to wifi
        WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        // setup a wifi configuration
        WifiConfiguration wc = new WifiConfiguration();
        wc.SSID = "\"JosuaLaptop\"";
        wc.preSharedKey = "\"123456789\"";
        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);
        // connect to and enable the connection
        int netId = wifiManager.addNetwork(wc);
        wifiManager.enableNetwork(netId, true);
        wifiManager.setWifiEnabled(true);

    }

}

请记住我没有在ConnectActivity()方法中编写代码,但我是从stackoverflow上的另一个线程获得的,所以我对它的工作方式没有基本的了解,尽管我可以遵循逻辑

我的清单中的权限如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="josuablom.gimbalcontrol" >

<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
...

请原谅我的无知,这是本科毕业论文项目的一部分,我的项目重点是设计系统,而不是成为Android专家。我浪费了太多时间试图弄清楚如何解决这个问题。

0 个答案:

没有答案