首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wifip2p发现对等点不工作

Wifip2p发现对等点不工作
EN

Stack Overflow用户
提问于 2015-10-19 16:24:40
回答 1查看 1.2K关注 0票数 0

我看到了代码这里。公共无效的displayPeers(最终的WifiP2pDeviceList对等点)是如何在这里工作的。当我在设备中运行时,它会显示在listview中的设备中,但是它如何在没有initializ方法的情况下获得设备列表。显示同伴()而不打电话?

之后,我更改了我的项目的代码,Displaypeers方法无法工作/调用。但是当我导入完整的项目时,它就能工作了。它是怎么工作的?请帮帮我。如果我犯了错误,有人能告诉我怎么称呼这个方法吗?显示节点(最终的WifiP2pDeviseList对等点)在oncreate函数本身中。谢谢。对不起我的英语不好。

代码语言:javascript
复制
 public void searchForPeers(View view) {

    //Discover peers, no call back method given
    wifiManager.discoverPeers(wifichannel, null);

}

…………

代码语言:javascript
复制
public void displayPeers(final WifiP2pDeviceList peers)
{
    //Dialog to show errors/status
    final AlertDialog.Builder dialog = new AlertDialog.Builder(this);
    dialog.setTitle("WiFi Direct File Transfer");

    //Get list view
    ListView peerView = (ListView) findViewById(R.id.peers_listview);

    //Make array list
    ArrayList<String> peersStringArrayList = new ArrayList<String>();

    //Fill array list with strings of peer names
    for(WifiP2pDevice wd : peers.getDeviceList())
    {
        peersStringArrayList.add(wd.deviceName);
    }

    //Set list view as clickable
    peerView.setClickable(true);

    //Make adapter to connect peer data to list view
    ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, peersStringArrayList.toArray());                

    //Show peer data in listview
    peerView.setAdapter(arrayAdapter);


    peerView.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> arg0, View view, int arg2,long arg3) {

            //Get string from textview
            TextView tv = (TextView) view;

            WifiP2pDevice device = null;

            //Search all known peers for matching name
            for(WifiP2pDevice wd : peers.getDeviceList())
            {
                if(wd.deviceName.equals(tv.getText()))
                    device = wd;                        
            }

            if(device != null)
            {
                //Connect to selected peer
                connectToPeer(device);

            }
            else
            {
                dialog.setMessage("Failed");
                dialog.show();

            }                           
        }           
            // TODO Auto-generated method stub              
        });

}

编辑: Oncreate方法

代码语言:javascript
复制
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_client);
    // getActionBar().setDisplayHomeAsUpEnabled(true);

    wifiManager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);

    wifichannel = wifiManager.initialize(this, getMainLooper(), null);
    wifiClientReceiver = new WiFiClientBroadcastReceiver(wifiManager, wifichannel, this);

    wifiClientReceiverIntentFilter = new IntentFilter();
    wifiClientReceiverIntentFilter.addAction(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION);
    wifiClientReceiverIntentFilter.addAction(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION);
    wifiClientReceiverIntentFilter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION);
    wifiClientReceiverIntentFilter.addAction(WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION);
    connectedAndReadyToSendFile = false;
    filePathProvided = false;
    fileToSend = null;
    transferActive = false;
    clientServiceIntent = null;
    targetDevice = null;
    wifiInfo = null;

    registerReceiver(wifiClientReceiver, wifiClientReceiverIntentFilter);

    setClientFileTransferStatus("Client is currently idle");

    //setTargetFileStatus("testing");
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-20 19:58:17

你应该看看整个项目。除了ClientActivity之外,还有更多的类。它们都进行交互,形成一个工作应用程序。

displayPeers()是从WiFiClientBroadcastReceiver调用的。我建议你看看这里的所有文件:

https://github.com/mayfourth/WiFi-Direct-File-Transfer/tree/master/WiFiDirectFileTransfer/src/edu/pdx/cs410/wifi/direct/file/transfer

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33219373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档