是否可以在不使用蓝牙/GSM/CDMA/IR 的情况下通过 wi-fi 连接两部安卓手机?此外,没有任何笔记本电脑或 Wi-Fi 接入点或 Wi-Fi 路由器。
我认为,可以在两部手机上创建一些 SSID,对 IP 地址进行静态配置。android会连接到另一个android wi-fi吗?
如果它们将被连接,我如何将文件从一部手机发送到第二部?有 ftp 客户端和服务器吗?或者我可以通过 ssh 连接到其他手机吗?还是电话/网络猫?也许是 http ?
是否可以在不使用蓝牙/GSM/CDMA/IR 的情况下通过 wi-fi 连接两部安卓手机?此外,没有任何笔记本电脑或 Wi-Fi 接入点或 Wi-Fi 路由器。
我认为,可以在两部手机上创建一些 SSID,对 IP 地址进行静态配置。android会连接到另一个android wi-fi吗?
如果它们将被连接,我如何将文件从一部手机发送到第二部?有 ftp 客户端和服务器吗?或者我可以通过 ssh 连接到其他手机吗?还是电话/网络猫?也许是 http ?
这称为ad hoc 网络,之前已经问过:
更新:
简短回答:Android 尚不支持 ad hoc,因此这行不通。
您可以使用蓝牙以 p2p 方式连接两部 Android 手机。
更新 2:
android.net.wifi.p2p包中的 Android 4.0 ICS 中的 API 14 支持通过 Wifi 的直接设备到设备连接。您可以通过FEATURE_WIFI_DIRECT测试设备功能。
我在下面包含了一些关键代码结构来实现这一点。但请阅读文档以获取更多信息。
这是一个示例广播接收器
public class WiFiDirectBroadcastReceiver extends BroadcastReceiver {
private WifiP2pManager manager;
private Channel channel;
private MyWiFiActivity activity;
public WiFiDirectBroadcastReceiver(WifiP2pManager manager, Channel channel,
MyWifiActivity activity) {
super();
this.manager = manager;
this.channel = channel;
this.activity = activity;
}
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals(action)) {
int state = intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE, -1);
if (state == WifiP2pManager.WIFI_P2P_STATE_ENABLED) {
// Wifi Direct is enabled
} else {
// Wi-Fi Direct is not enabled
}
} else if (WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION.equals(action)) {
// Call WifiP2pManager.requestPeers() to get a list of current peers
} else if (WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(action)) {
// Respond to new connection or disconnections
} else if (WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION.equals(action)) {
// Respond to this device's wifi state changing
}
}
}
权限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
如果您只想使用该功能而不是在自己的应用程序中实现它,请查看Superbeam、Send 等应用程序!或快速文件传输,主要使用 WiFi 直连。
这里有一些链接。
尝试通过 wifi 连接 FTPDroid 和 Turbo Client。要么这样,要么设置 VPN 并通过 SSH、FTP 和/或 SFTP 远程连接所有设备。