Conecta el iPhone a Android Wifi Direct soft AP

Sé que Wifi Direct funciona creando un Soft AP (punto de acceso de software) en uno de los dispositivos. También sé que muchos Androids admiten Wifi Direct, pero los iPhones no.

Mi pregunta es: ¿es posible crear un enlace wifi de dispositivo a dispositivo que sea Wifi Direct en el lado de Android, pero wifi regular en el lado del iPhone? Donde el Wifi Direct de Android estaría presentando un AP suave, que el iPhone vería como indistinguible de un AP regular y ser capaz de asociarse a.

Imagine que esto está en el desierto donde no hay ningún router AP disponible. Además, ninguno de los usuarios tiene un plan de anclaje.

Este enlace sería utilizado por una aplicación Bump-like para transferir archivos.

Dependiendo de su teléfono, sólo puede configurar su teléfono Android como un hotspot portátil y conectarse a eso con el iPhone. A partir de ahí sería una aplicación específica para obtener los datos transferidos.

Sin embargo, también puede utilizar las bibliotecas WiFi-Direct de Androids. En ese caso, se utilizan para configurar el teléfono Android para crear un "propietario del grupo", que básicamente es el mismo que ser un hotspot portátil. Revisa:

http://developer.android.com/guide/topics/connectivity/wifip2p.html

Te daré un ejemplo de código para ayudarte a empezar.

public class WifiDirectAPtestActivity extends Activity { private WifiP2pManager manager; private boolean isWifiP2pEnabled = false; private boolean retryChannel = false; private final IntentFilter intentFilter = new IntentFilter(); private Channel channel; private BroadcastReceiver receiver = null; public void setIsWifiP2pEnabled(boolean isWifiP2pEnabled) { this.isWifiP2pEnabled = isWifiP2pEnabled; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // add necessary intent values to be matched. intentFilter.addAction(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION); intentFilter.addAction(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION); intentFilter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION); intentFilter.addAction(WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION); manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE); channel = manager.initialize(this, getMainLooper(), null); } /** register the BroadcastReceiver with the intent values to be matched */ @Override public void onResume() { super.onResume(); receiver = new WiFiDirectBroadcastReceiver(manager, channel, this); registerReceiver(receiver, intentFilter); createGroup(); } @Override public void onPause() { super.onPause(); unregisterReceiver(receiver); manager.removeGroup(channel, new ActionListener() { @Override public void onFailure(int reasonCode) { Log.d("WifiDirectAptestActivity", "Disconnect failed. Reason :" + reasonCode); } @Override public void onSuccess() { Log.d("WifiDirectAptestActivity", "Should have been sucessfully removed"); } }); } public void createGroup() { manager.createGroup(channel, new ActionListener() { @Override public void onSuccess() { // WiFiDirectBroadcastReceiver will notify us. Ignore for now. Log.d("WifiDirectAPtestActivity", "Group creating request successfully send"); } @Override public void onFailure(int reason) { Toast.makeText(WifiDirectAPtestActivity.this, "Connect failed. Retry.", Toast.LENGTH_SHORT).show(); } }); } 

Además, necesitará el receptor de emisión, consulte la demostración de WiFi-Direct y debería estar claro para usted.

Tenga en cuenta que la línea manager.createGroup (canal, ActionListener nuevo () es la línea de código de interés, es esta línea que realmente establece el dispositivo como un hotspot portátil.

Espero que esto aclare las cosas, realmente no sé cómo explicación detallada que necesita. Comente si algunas cosas no están claras.

  • Android NSD no descubre todos los servicios
  • Wi-Fi Directo y "normal" Wi-Fi - ¿Diferentes MAC?
  • ¿Por qué Android Wi-Fi Direct solo devuelve un servicio a la vez con discoverServices?
  • Cómo aceptar automáticamente solicitudes de conexión Wi-Fi directamente en Android
  • Configurar una conexión Wifi-Direct entre Android y Raspberry Pi 3 Linux
  • Desconectar de un grupo directo wifi
  • Conecte 2 o más clientes de Android directamente
  • ¿Existe un equivalente de Wi-Fi Direct / Wi-Fi P2P para Phonegap / Cordova?
  • ¿Cómo puedo manejar múltiples clientes conectados a un servidor mediante sockets?
  • Wi-Fi Direct Android
  • El estado de WifiP2pDevice permanece en INVITADO después de la invitación directa de Wifi
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.