Sé que el Wifi Directa funciona creando una Suave AP (software de punto de acceso) en uno de los dispositivos. Sé también que muchos de los Androides de Wifi de la ayuda Directa, pero los iPhones no.

Mi pregunta es: ¿es posible crear un dispositivo a dispositivo wifi link que es el Wifi Direct en el Android lado, pero el wifi en el iPhone? ¿ Donde el Android Wifi Direct sería la presentación de un soft AP, que el iPhone se vea como indistinguible de una regular AP y ser capaz de asociar a.

Imaginar que esto es en el desierto donde no hay router AP está disponible. Asimismo, tampoco usuario tiene un plan de tethering.

Este vínculo sería utilizado por un Golpe-como la aplicación de transferencia de archivos.

greate el pensamiento….mirando hacia adelante a las respuestas…
Creo que eso no es posible, al menos no sin un punto de acceso móvil
Relacionadas con la pregunta: stackoverflow.com/questions/9799804/…
Esto debería ser ilegal ;D
Shh, no se lo digas a Apple 😉

OriginalEl autor AlcubierreDrive | 2012-10-02

1 Comentario

  1. 8

    Dependiendo de su teléfono, usted puede configurar su teléfono Android como un punto de acceso portátil y conectarse a que con el iPhone. A partir de allí sería específicas de la aplicación para obtener los datos transferidos.

    Sin embargo también puede utilizar los Androides de WiFi-Direct bibliotecas. En ese caso debe utilizar para configurar el teléfono Android para crear un «Grupo propietario», que básicamente es el mismo que el de ser un punto de acceso portátil. Salida:

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

    Te voy a dar un ejemplo de código para ayudarle 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 tendrás la emisión de un receptor de mirar el WiFi-Direct demo y debe ser claro para usted.

    Nota que el gerente de línea.createGroup(canal, new ActionListener() es el codeline de interés, es en esta línea que realmente establece el dispositivo como un punto de acceso portátil.

    Espero que esto aclara las cosas, yo realmente no sé cómo explicación detallada que usted necesita. Comentario si algunas cosas no están claras.

    Voy a tratar de conseguir su código de ejemplo para trabajar para mi caso de uso de conexión de un iPhone. Si me encuentro con problemas voy a comentar con preguntas y cuando tengo éxito, voy a aceptar su respuesta. Un millón de gracias! 🙂
    Se parece a la de una línea que es importante es «manager.createGroup(canal, new ActionListener() {código de registro}». Podría ser bueno explícitamente de relieve que la línea en su respuesta de manera que los lectores no tienen que vadear a través de largas repetitivo para encontrar la clave de la línea.
    Sí, lo siento, supongo que debería haber hecho eso. Buena suerte con tu proyecto! 🙂

    OriginalEl autor Nils Erik

Dejar respuesta

Please enter your comment!
Please enter your name here