我正在开发一个p2p应用程序,并按照教程在这里虽然我在2部手机上测试它,我在徘徊我什么时候必须启动对等体发现?

仅在App启动时,定期或每次在onResume中启动时?

我在询问,因为有时候我试图显示对等体列表的时,它找不到任何东西。我也想知道这个问题,并且是什么是对等发现的,它在做什么。

有帮助吗?

解决方案

我通过在应用程序中注册的侦听器开始发现每个'x'秒,是的,您也希望启动Discovery OnResume()。此外,我认为您已经利用了广播意图 确定状态更改。

然而,我无法澄清P2P发现的内部,但发现可能会失败,因为网络忙或由于内部错误或仅仅因为设备不支持P2P,因此如上所述这里

其他提示

mManager.discoverPeers(mChannel, new WifiP2pManager.ActionListener() {
        @Override
        public void onSuccess() {
            Toast.makeText(MainActivity.this, "onSuccess", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onFailure(int reasonCode) {

            switch(reasonCode){

            case WifiP2pManager.ERROR:

                Toast.makeText(MainActivity.this, "Getting error while peers discover", Toast.LENGTH_SHORT).show();
                break;

            case WifiP2pManager.P2P_UNSUPPORTED:
                Toast.makeText(MainActivity.this, "Device is not supported", Toast.LENGTH_SHORT).show();
                break;


            case WifiP2pManager.BUSY:
                Toast.makeText(MainActivity.this, "Device is busy", Toast.LENGTH_SHORT).show();
                break;

            }
        }
    });
.
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top