我正在开发一个P2P应用程序,并且正在按照教程HERE进行测试,当我在2部手机上测试它时,我是否需要启动Peer Discovery?
只有在应用程序启动时,定期或每次都在onResume
?
我问,因为有些时候,当我试图显示同伴列表时,它找不到任何东西。 我也想知道这个的原因以及实际上是同行发现的原因以及它在做什么。
答案 0 :(得分:2)
我通过应用程序中注册的听众开始发现每个' x'秒和是的,你也想要启动发现onResume()。另外,我认为你已经在利用broadcast intents 确定状态变化。
但是,我无法澄清P2P发现的内部结构,但发现可能会失败,因为网络繁忙或由于内部错误或仅仅因为设备不支持所提到的P2P {{ 3}}答案 1 :(得分:1)
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;
}
}
});