android - para - compartir internet por bluetooth windows 10
Conecte dos teléfonos Android con wi-fi(sin computadora portátil o punto de acceso) y envíe el archivo (4)
¿Es posible conectar dos teléfonos Android por wi-fi, sin usar un bluetooth / GSM / CDMA / IR? Además, no hay ningún ordenador portátil o puntos de acceso wi-fi o enrutadores wi-fi.
Creo que es posible crear algunos SSID en ambos teléfonos, hacer una configuración estática de direcciones IP. ¿Se conectará Android a otro wi-fi de Android?
Si se conectan, ¿cómo puedo enviar un archivo de un teléfono a otro? ¿Hay un ftp-client y un servidor? o ¿Puedo ssh a otro teléfono? ¿O telnel / netcat? Tal vez http?
Esto es realmente posible con android.net.wifi.p2p . Como indican los documentos :
- Crear un receptor de difusión para los intentos directos de Wi-Fi
- Configurar permisos
- Configurar el receptor en onCreate ()
- Configurar un filtro de intención
- Registrar el receptor en onResume ()
He incluido algunas de las construcciones de código clave a continuación para que esto suceda. Pero lea la documentación para más información.
Aquí hay una muestra de receptor de difusión
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
}
}
}
Permisos:
<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" />
Esto se llama red ad hoc y se ha preguntado anteriormente:
¿Puede Android hacer redes ad-hoc de igual a igual?
Android Wifi directo de conexión múltiple ad-hoc
Capacidades de conexión ad-hoc / punto de acceso de Android
Actualizar:
Respuesta corta: ad hoc todavía no es compatible con Android, por lo que no funcionaría.
Puedes usar Bluetooth para conectar dos teléfonos Android de forma p2p.
Actualización 2:
La conexión directa de dispositivo a dispositivo a través de Wifi es compatible con API 14 en Android 4.0 ICS en el paquete android.net.wifi.p2p . Puede probar la capacidad de los dispositivos a través de FEATURE_WIFI_DIRECT .
Intente conectarse con FTPDroid y Turbo Client a través de wifi. O eso, o configure una VPN y conecte todos sus dispositivos de forma remota a través de SSH, FTP y / o SFTP.