我正在尝试创建一个WI-FI直接网络,比方说3台平板电脑。我想运行WiFi-Direct作为后台服务,其中一个设备设置为自主GO。有人能告诉我如何在Android中做到这一点吗?还有人请告诉我,我们如何设置专用的SSID和密码,以便在应用程序启动期间,当新设备添加到此网络时,它们可以搜索特定的ssid和密码,以便建立连接?
我正在使用Android API Level 18进行开发...
先谢谢你...
发布于 2014-03-28 17:14:43
这就是自主组所有者的创建方式,即使用以下代码,您可以在Wifi直接网络中故意将设备设置为组所有者
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等。
发布于 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
发布于 2014-10-17 16:07:08
要创建自主组,只需从经理处调用createGroup()方法即可。要设置ssid和passPhrase,必须调用WifiP2pGroup类setPassphrase和setNetworkName.的隐藏方法
要实现这一点,您可以使用java反射。尝试下面的示例。
让我们假设WifiP2pGroup对当前对象进行分组。
方法
setPassPhraseMethod=group.getClass().getMethod("setPassphrase", new Class[ {String.class});现在调用该方法:
setPassPhraseMethod.invoke(group, "yourNewPassPrhase");希望对您有所帮助。
https://stackoverflow.com/questions/19018141
复制相似问题