2013-08-22 17 views
5

Ich erstelle WiFi AP programmatisch in meiner Anwendung. Bekomme ich eine Sendung, wenn neue Geräte eine Verbindung zu meinem AP herstellen?Rückruf auf Gerät mit Wifi verbinden Hotspot

Ich weiß, wir können die Liste der angeschlossenen Geräte von der /proc/net/arp bekommen, aber ich brauche einen Rückruf, wenn es eine neue Verbindung gibt.

Jede Hilfe wird geschätzt.

+0

Für zukünftige Referenzen, ich glaube nicht, dass Sie einen Rückruf erhalten. Sie können einen Broadcast-Empfänger haben und WifiManager.NETWORK_STATE_CHANGED_ACTION hören. Damit erhält jeder, der sich mit einem Hotspot verbindet. – VipulKumar

Antwort

0

Wenn Sie den AP nicht zur Verbindung mit dem Internet verwenden müssen, sondern nur in einem LAN kommunizieren möchten, können Sie eine P2P-Gruppe mit der WifiP2pManager-Instanz createGroup erstellen und WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION mit einem Broadcast-Empfänger abhören.

So:

if (WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(action)){ 
    NetworkInfo networkInfo = intent.getParcelableExtra(WifiP2pManager.EXTRA_NETWORK_INFO); 

    if (networkInfo.isConnected()) { 
     Manager.requestConnectionInfo(mChannel, new WifiP2pManager.ConnectionInfoListener(){ 

       @Override 
       public void onConnectionInfoAvailable(final WifiP2pInfo info) { 
        if (info.isGroupOwner) { 
         mManager.requestGroupInfo(mChannel, new WifiP2pManager.GroupInfoListener() { 

          @Override 
          public void onGroupInfoAvailable(WifiP2pGroup group) { 
           //This is the size you want 
           group.getClientList().size(); 
          } 
         }); 
        } 
       } 
     }); 
    } 
} 

Für weitere Einzelheiten sehen: http://developer.android.com/guide/topics/connectivity/wifip2p.html

Verwandte Themen