我正在开发一款基于安卓系统的应用程序,它将在紧急或灾难情况下帮助用户安全疏散。为此,我需要在特定区域的用户之间建立一个网状网络。我必须采用自组网模式来实现这一目标。
我正在开发一款基于安卓系统的应用程序,它将在紧急或灾难情况下帮助用户安全疏散。为此,我需要在特定区域的用户之间建立一个网状网络。我必须采用自组网模式来实现这一目标。
WifiP2pManager mManager;
Channel mChannel;
BroadcastReceiver mReceiver;
...
@Override
protected void onCreate(Bundle savedInstanceState){
...
mManager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
mChannel = mManager.initialize(this, getMainLooper(), null);
mReceiver = new WiFiDirectBroadcastReceiver(mManager, mChannel, this);
...
}
//obtain a peer from the WifiP2pDeviceList
WifiP2pDevice device;
WifiP2pConfig config = new WifiP2pConfig();
config.deviceAddress = device.deviceAddress;
mManager.connect(mChannel, config, new ActionListener() {
@Override
public void onSuccess() {
//success logic
}
@Override
public void onFailure(int reason) {
//failure logic
}
});
希望这能有所帮助
有一个名为Meshkit https://www.opengarden.com/meshkit.html 的框架可用于创建网状网络。他们有一个很好且相当著名的应用程序作为“概念验证”,名为“firechat”https://www.opengarden.com/firechat.html。
据我所知,它不是开源的。
我在谷歌商店上发现了一个类似的想法,名为Beamify。也许你可以联系他们获取一些灵感。