我已經購買了新的android 4.0.3 tablet-Micromax Funbook P300來學習開發android應用程序。在Android 4.0中啓用Wifi直接連接
我開始使用Wifi Direct,因此平板電腦可以用作機器人平臺的遙控器。
令我失望的是,股票操作系統在設置菜單中沒有提供此功能。
是否可以檢查我們是否可以編程啓動wifi直接功能?
如果不是有人可以直接找到一些解決這個問題的教程嗎?
謝謝。
我已經購買了新的android 4.0.3 tablet-Micromax Funbook P300來學習開發android應用程序。在Android 4.0中啓用Wifi直接連接
我開始使用Wifi Direct,因此平板電腦可以用作機器人平臺的遙控器。
令我失望的是,股票操作系統在設置菜單中沒有提供此功能。
是否可以檢查我們是否可以編程啓動wifi直接功能?
如果不是有人可以直接找到一些解決這個問題的教程嗎?
謝謝。
Android SDK中使用DirectWiFi模式一個示例應用程序:
WiFiDirectDemo - Wi-Fi Direct Demo
所使用的API本身位於android.net.wifi.p2p
他並沒有要求一個編碼的程序例子,這麼多一種以編程方式開啓技術的方式(即一行代碼)。據我所知,沒有辦法做到這一點。這一切都必須從您的設備設置中完成。雖然有些設備允許開啓Wi-Fi Direct,但其他設備將其視爲與啓用常規Wi-Fi相同 - 您是否嘗試過?你有沒有檢查過P300是否支持Wi-Fi Direct?
WiFi Direct應該得到Android 4.0.3的支持(自從Android API 14或Android 4.0以來,它一直都在支持)。由於硬件限制,您的平板電腦可能不支持WiFi Direct,但我對此表示懷疑。您可能沒有在設置中看到它,因爲在平板電腦上運行的自定義Android外觀會阻止您看到它,或者直到Android 4.1或其他設備才能實現WiFi Direct設置界面。
無論如何,您可以在代碼中輕鬆測試。
首先,把正確的權限在你的manifest.xml
http://developer.android.com/training/connect-devices-wirelessly/wifi-direct.html#permissions
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.nsdchat"
...
<uses-permission
android:required="true"
android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission
android:required="true"
android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission
android:required="true"
android:name="android.permission.INTERNET"/>
...
接下來,嘗試初始化的Android WiFiP2pManager類是否支持它。
http://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.html
public void onCreate(Bundle savedInstanceState) {
WifiP2pManager manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
WifiP2pManager.Channel channel = manager.initialize(this, getMainLooper(), null);
}
這裏我把空,你可以傳遞一個回調來檢查是否存在故障。如果有效,請按照Wi-Fi Direct guide的其餘部分創建您的應用。
一個編碼的程序例子將告訴你如何使用wifi直接。不,不可能在一行代碼中直接使用wifi,但可以嘗試使用api直接使用wifi,然後根據日誌消息查看它是否受支持。另一個答案更有用。 –