2013-03-14 66 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的号召。实际的回调需要修改。