को गड़बड़ कर दिया ताकि कुछ महीने पहले मैंने कुछ वाईफाई-डायरेक्ट एप्लिकेशन विकसित करना शुरू कर दिया हो। कुछ दिन पहले, मैंने अपने गैलेक्सी नेक्सस को जेली बीन (4.1.x) में अपडेट किया और मेरे अनुप्रयोगों का परीक्षण किया, लेकिन ऐसा लगता है कि कुछ गड़बड़ हो गई है .. मुख्य कार्यक्षमता सेट प्राप्त करने के लिए पहले से ही गधे में दर्द था आईसीएस पर, लेकिन अब यह अब काम नहीं करता है।जेलीबीन पर वाईफाई-डायरेक्ट, डब्ल्यूपीए प्रदायक ने
सभी मैं मिल मेरी logcat में कुछ इस तरह है:
/wpa_supplicant( 392): p2p0: P2P-PROV-DISC-PBC-REQ a2:0b:ba:xy:zz:xx p2p_dev_addr=a2:0b:ba:xy:zz:xx pri_dev_type=10-0050F204-x name='Android_e9f0' config_methods=0x188 dev_capab=0x27 group_capab=0x0
I/wpa_supplicant( 392): p2p0: P2P-DEVICE-FOUND a2:0b:ba:xy:zz:xx p2p_dev_addr=a2:0b:ba:xy:zz:xx pri_dev_type=10-0050F204-5 name='Android_e9f0' config_methods=0x188 dev_capab=0x27 group_capab=0x0
I/wpa_supplicant( 392): p2p0: P2P-GO-NEG-REQUEST a2:0b:ba:xx:zz:xy dev_passwd_id=4
I/wpa_supplicant( 392): p2p0: P2P-FIND-STOPPED
I/wpa_supplicant( 392): p2p0: P2P-GO-NEG-FAILURE status=7
W/Netd ( 120): No subsystem found in netlink event
D/NetlinkEvent( 120): Unexpected netlink message. type=0x11
I/wpa_supplicant( 392): p2p0: P2P-DEVICE-LOST p2p_dev_addr=a2:0b:ba:xx:zz:xy
I/wpa_supplicant( 392): p2p0: P2P-DEVICE-FOUND a2:0b:ba:xx:zz:xy p2p_dev_addr=a2:0b:ba:xx:zz:xy pri_dev_type=10-0050F204-5 name='Android_e9f0' config_methods=0x188 dev_capab=0x27 group_capab=0x0
"आमंत्रण संवाद" दूसरा फोन पर सही ढंग से पॉप अप होता है, और "कभी-कभी" (यादृच्छिक) तो यह और भी काम करता है, लेकिन केवल हर में पांचवां प्रयास या कुछ। तो लॉगकैट मुझे बताता है, क्योंकि मैं एंड्रॉइड-इंटर्न कोड के साथ कोई पेशेवर नहीं हूं, कि वार्तालाप बस विफल हो जाता है, डिवाइस एक संक्षिप्त पल के लिए खो जाता है, और फिर फिर से खोजा जाता है, ऐसा लगता है कि सभी तरह की गड़बड़ हुई है।
मेरे निमंत्रण इस तरह बाहर भेज दिया जाता:
public void onPeersAvailable(WifiP2pDeviceList peers) {
if (isInvitationSent)
return;
for (WifiP2pDevice dev : peers.getDeviceList()) {
WifiP2pConfig c = new WifiP2pConfig();
c.deviceAddress = dev.deviceAddress;
c.wps.setup = WpsInfo.PBC;
if (initiator
&& !isInvitationSent
&& WiFiSupport.compareMacAddressesInsensitive(MAC_ADDRESS,
dev.deviceAddress)) {
isInvitationSent = true;
sendInvitation(c);
}
}
}
private void sendInvitation(final WifiP2pConfig config) {
log("Sending invitation to " + config.deviceAddress);
mWifiManager.connect(mChannel, config, new ActionListener() {
@Override
public void onSuccess() {
log("Invitation sent!");
}
@Override
public void onFailure(int reason) {
log("Invitation failed!");
Toast.makeText(getApplicationContext(), "Could not connect to peer, reason:"+reason, Toast.LENGTH_LONG).show();
if (!retryChannel) {
log("Retrying to send invitation.");
retryChannel = true;
sendInvitation(config);
}
}
});
}
मैं वाईफ़ाई पर बहुत कुछ एंड्रॉयड पर प्रत्यक्ष पढ़ा है, और जब तक मैं जेली बीन करने के लिए फोन के अद्यतन यह ठीक काम कर रहा है .. किसी को भी जानता है, क्या गलत हो सकता है? यदि आपको कोड के अधिक नमूने या कोड के किसी भी विशिष्ट भाग की आवश्यकता है, तो बस मुझे बताएं, क्योंकि मुझे नहीं पता कि इसके लिए क्या विश्वसनीय हो सकता है।
आपकी मदद के लिए धन्यवाद।
संपादित करें:
बदल दिया WifiP2pConfig.wps.setup विधि के लिए "प्रदर्शन", जिसमें # 1 डिवाइस परिणामस्वरूप एक इनपुट फ़ील्ड के साथ एक संवाद को पॉपिंग एक पिन कोड, उपकरण # 2 प्रदर्शित - सही प्रवेश करने के बाद
08-31 15:13:28.241: I/wpa_supplicant(384): p2p0: P2P-GO-NEG-SUCCESS
08-31 15:13:28.241: I/wpa_supplicant(384): rfkill: Cannot open RFKILL control device
08-31 15:13:29.850: W/wpa_supplicant(384): p2p-p2p0-3: Could not connect to kernel driver
08-31 15:13:30.264: E/wpa_supplicant(384): Using interface p2p-p2p0-3 with hwaddr a2:0b:ba:x:y:z and ssid 'DIRECT-ps-Android_e9f0'
08-31 15:13:30.491: I/wpa_supplicant(384): p2p-p2p0-3: CTRL-EVENT-CONNECTED - Connection to a2:0b:ba:x:y:z completed (auth) [id=0 id_str=]
08-31 15:13:43.491: I/wpa_supplicant(384): p2p0: P2P-GROUP-FORMATION-FAILURE
08-31 15:13:43.491: I/wpa_supplicant(384): p2p0: P2P-GROUP-REMOVED p2p-p2p0-3 GO
08-31 15:13:43.491: W/wpa_supplicant(384): p2p-p2p0-3: Could not connect to kernel driver
08-31 15:13:44.061: E/wpa_supplicant(384): Failed to remove interface (ifidx=15)
08-31 15:13:44.178: W/Netd(120): No subsystem found in netlink event
08-31 15:13:44.178: D/NetlinkEvent(120): Unexpected netlink message. type=0x11
08-31 15:13:44.248: W/Netd(120): No subsystem found in netlink event
08-31 15:13:44.248: D/NetlinkEvent(120): Unexpected netlink message. type=0x11
08-31 15:13:44.280: I/wpa_supplicant(384): p2p0: P2P-DEVICE-LOST p2p_dev_addr=a2:0b:ba:x:y:z
08-31 15:13:46.155: I/wpa_supplicant(384): p2p0: P2P-DEVICE-FOUND a2:0b:ba:x:y:z p2p_dev_addr=a2:0b:ba:x:y:z pri_dev_type=10-0050F204-5 name='Android_755f' config_methods=0x188 dev_capab=0x27 group_capab=0x0
दिलचस्प होगा:: 08-31 15: 13: पिन यह क्या logcat ने मुझे बताया है 43.491: डब्ल्यू/wpa_supplicant (384): पी 2 पी-p2p0-3: ड्राइवर कर्नेल
कनेक्ट नहीं कर सकामुझे लगता है। ऐसा लगता है कि एंड्रॉइड के अपने वाईफाई-डायरेक्ट-फ्रेमवर्क में एक बग की तरह है?
ऐसा लगता है कि समूह निर्माण केवल तभी विफल रहता है जब आप किसी अन्य वाईफ़ाई नेटवर्क में हों, जैसे कि आपके घर में वाईफ़ाई या ऐसा .. इसलिए एंड्रॉइड इसे अक्षम करने में विफल रहता है - इस प्रकार वाईफ़ाई डायरेक्ट के माध्यम से कनेक्ट करने में विफल रहता है। – damian
क्या आपको इसके लिए कोई समाधान मिला? – Zach
मैंने दो एचटीसी वन बनाम (जो रैम प्रतिबंधों के कारण जेली बीन को अपडेट नहीं कर सका) और एचटीसी वन एक्स + (जिसमें 4.1 है) पर विकसित किया गया था। मेरे अनुभव में, वन वी ने ज्यादातर समय काम किया जहां एक एक्स + अधिक बार विफल हो जाएगा। – Chucky