2013-03-14 69 views
1

我想創建一個組,使當前設備的平板電腦作爲接入點,但在回調方法onGroupInfoAvailable()我得到了組的空指針。爲什麼?WiFi直接創建組空指針

manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE); 
channel = manager.initialize(this, getMainLooper(), null); 

manager.createGroup(channel, new ActionListener() { 
    @Override 
    public void onSuccess() { 
     manager.requestGroupInfo(channel, new GroupInfoListener() { 
      public void onGroupInfoAvailable(WifiP2pGroup group) { 
      if(group != null) 
       Toast.makeText(SasetBladderPadActivity.this, "Group Passphrase: " 
            + group.getPassphrase(), Toast.LENGTH_LONG).show(); 
      else 
       Toast.makeText(SasetBladderPadActivity.this, "Group is null ", 
            Toast.LENGTH_LONG).show(); 
       } 
      }); 
     } 

     @Override 
public void onFailure(int arg0) { 
    // TODO Auto-generated method stub 
      Toast.makeText(SasetBladderPadActivity.this, "Create group failed: " + arg0, \ 
        Toast.LENGTH_LONG).show(); 
     } 

    }); 
+2

我也遇到過這種情況,'WifiP2pGroup'在回調函數中爲null ...我通過在調用'requestGroupInfo'之前等待了一會兒,而不是立即從'onSuccess'修復它... – jjv360 2013-06-18 08:12:07

+0

他是對的。設置一個計時器或一個事件來執行此操作。 – Chucky 2013-07-18 12:34:26

回答

0

我認爲你需要實現grouplistener然後@override ongroupinfoavailable方法。成功只是asyn的號召。實際的回調需要修改。