0

我买了一个新的安卓 4.0.3 平板电脑——Micromax Funbook P300 来学习开发安卓应用程序。

我从 Wifi Direct 开始,这样平板电脑就可以用作机器人平台的遥控器。

令我失望的是,股票操作系统在设置菜单中没有提供此功能。

是否可以检查我们是否可以以编程方式启动 wifi direct 功能?

如果没有,有人可以指导一些解决这个问题的教程吗?

谢谢。

4

3 回答 3

0

WiFi Direct 应受 Android 4.0.3 支持(自 Android API 14 或 Android 4.0 以来一直存在)。由于硬件限制,您的平板电脑可能不支持 WiFi Direct,但我对此表示怀疑。您可能在设置中看不到它,因为平板电脑上运行的自定义 Android 皮肤阻止您看到它,或者 WiFi Direct 设置界面可能直到 Android 4.1 或其他版本才实现。

无论如何,您都可以在代码中轻松地对其进行测试。

首先,将适当的权限放入您的 manifest.xml

http://developer.android.com/training/connect-devices-wireless/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 指南的其余部分创建您的应用程序。

于 2014-04-23T22:03:01.447 回答
0

Android SDK 包含一个使用 DirectWiFi 模式的示例应用程序:

WiFiDirectDemo - Wi-Fi 直连演示

使用的 API 本身位于android.net.wifi.p2p

于 2012-05-09T14:18:46.387 回答
-2

他并不是要一个编码的程序示例,而是一种以编程方式开启技术的方式(即一行代码)。据我所知,没有办法做到这一点。这一切都必须在您的设备设置中完成。虽然某些设备允许打开 Wi-Fi Direct,但其他设备将其视为启用常规 Wi-Fi - 您尝试过吗?您是否检查过 P300 是否支持 Wi-Fi Direct?

于 2013-07-18T12:32:43.660 回答