p2p连接信息null

时间:2017-01-09 01:31:16

标签: android wifip2p

我一直在努力通过android studio,特别是p2p,我可以连接到德州仪器开发板或平板电脑,但无法获得任何连接信息。我从WifiP2pInfo开始如下,

public void getGroupInfo(View v){

    WifiP2pInfo p2pInfo = new WifiP2pInfo();
    TextView text = (TextView)findViewById(R.id.txtInfo);
    if (p2pInfo.groupFormed){
        text.setText(p2pInfo.groupOwnerAddress.toString());
    }

    else {
        text.setText("no group formed");
    }
}

并得到,groupFormed = false,groupOwnerAddress = null,isGroupOwner = false

然后我包含了一个ConnectionInfoListener,实现如下,

公共类MainActivity扩展Activity实现ChannelListener,DeviceActionListener,ConnectionInfoListener {

并覆盖如,

@Override
public void onConnectionInfoAvailable(WifiP2pInfo info) {

    info = new WifiP2pInfo();
    TextView text = (TextView)findViewById(R.id.txtInfo);
    if (info.groupFormed){
        text.setText(info.groupOwnerAddress.toString());
    }

}

但onConnectionInfoAvailable方法永远不会执行。获取连接信息的魔力是什么?是的,我对这一切都很陌生,想要通过wifi p2p控制手机上的气动弹出目标(或5)。

更新

好的,18个小时后,我发现他的问题虽然简单但难以捉摸。对于可能经历同样痛苦折磨的其他任何人,如果没有WifiP2pManager.requestConnectionInfo调用,ConnectionInfoListener将无法工作。在我的情况下,它实现如下;

    else if (WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(action)) {
        //p2p connectivity changed in some way
        NotificationToast.showToast(activity, "connection changed action has triggered");
        manager.requestConnectionInfo(channel, activity);

    }

从我的广播接收器调用它,活动是指我实现ConnectionInfoListener的主要活动。

接下来的头痛,欢呼!

0 个答案:

没有答案