首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Android中为Wifi Direct创建一个具有专用ssid和密码的自主GO?

如何在Android中为Wifi Direct创建一个具有专用ssid和密码的自主GO?
EN

Stack Overflow用户
提问于 2013-09-26 10:01:26
回答 4查看 8.9K关注 0票数 4

我正在尝试创建一个WI-FI直接网络,比方说3台平板电脑。我想运行WiFi-Direct作为后台服务,其中一个设备设置为自主GO。有人能告诉我如何在Android中做到这一点吗?还有人请告诉我,我们如何设置专用的SSID和密码,以便在应用程序启动期间,当新设备添加到此网络时,它们可以搜索特定的ssid和密码,以便建立连接?

我正在使用Android API Level 18进行开发...

先谢谢你...

EN

回答 4

Stack Overflow用户

发布于 2014-03-28 17:14:43

这就是自主组所有者的创建方式,即使用以下代码,您可以在Wifi直接网络中故意将设备设置为组所有者

代码语言:javascript
复制
manager.createGroup(channel,new WifiP2pManager.ActionListener()
{
    @Override
    public void onSuccess()
    {
        Toast.makeText(WiFiDirectActivity.this, "Group Created",Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onFailure(int reason)
    {}              
}); 

您可以在任何事件上使用此代码,如Button、click等。

票数 6
EN

Stack Overflow用户

发布于 2014-10-01 00:53:51

Bluemoon10几乎是对的。我还不能评论,因为我需要50个声誉:/。config.groupOwnerIntent的范围是1-15,其中15是最高的群主意向。如果两个设备尝试使用两个GO意图== 15进行连接,则连接调用将失败。如果有低于15的GO意图平局,则设备同意打破平局比特并将成功。因此,如果你想让一台设备成为群主,你必须确保它是唯一一台尝试成为群主的设备。您可以使用Service Discovery来执行此操作,即,如果有一个服务正在运行,则在具有该服务的设备上将GO intent设置为15,在连接设备上将GO intent设置为1。只有一个设备需要调用connect来启动连接。

链接到服务发现教程:http://developer.android.com/training/connect-devices-wirelessly/nsd-wifi-direct.html

票数 2
EN

Stack Overflow用户

发布于 2014-10-17 16:07:08

要创建自主组,只需从经理处调用createGroup()方法即可。要设置ssidpassPhrase,必须调用WifiP2pGroup类setPassphrasesetNetworkName.的隐藏方法

要实现这一点,您可以使用java反射。尝试下面的示例。

让我们假设WifiP2pGroup对当前对象进行分组。

方法

代码语言:javascript
复制
setPassPhraseMethod=group.getClass().getMethod("setPassphrase", new Class[ {String.class});

现在调用该方法:

代码语言:javascript
复制
setPassPhraseMethod.invoke(group, "yourNewPassPrhase");

希望对您有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19018141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档