मैं एक ऐसा एप्लीकेशन बना रहा हूं जो मोबाइल और वाई-फाई डिवाइस के बीच डेटा स्थानांतरित कर सके ... मोबाइल को AP सक्षम (कोड के माध्यम से) मिला है और दूसरा डिवाइस इससे जुड़ता है विशिष्ट नेटवर्क ... नेटवर्क (एपी) से जुड़े उपकरणों के विवरण देखने के लिए मैं कोड के माध्यम से कैसे पता लगा सकता हूं? ** क्या इसके लिए कोई समाधान है?एंड्रॉइड एप्लिकेशन वाई-फाई डिवाइस - एपी कनेक्टिविटी
मैंने वाईफ़ाई हॉट स्पॉटHTC Desire में एक एप्लिकेशन देखा है जो नेटवर्क से जुड़े उपकरणों के आईपी पते दिखाने की कार्यक्षमता करता है। यह कैसे हासिल किया जा सकता है?
Review: Sprint Mobile Hotspot on HTC EVO 4G देखें।
यह एक ऐसा एप्लिकेशन दिखाता है जो वास्तव में कनेक्ट किए गए उपयोगकर्ताओं को प्रदर्शित कर सकता है। हम प्रोग्रामेटिक तरीके से कैसे कर सकते हैं? क्या इसके लिए कोई एपीआई है?
एक पहुँच बिंदु बनाने के लिए:
private void createWifiAccessPoint() {
if (wifiManager.isWifiEnabled())
{
wifiManager.setWifiEnabled(false);
}
Method[] wmMethods = wifiManager.getClass().getDeclaredMethods(); //Get all declared methods in WifiManager class
boolean methodFound = false;
for (Method method: wmMethods){
if (method.getName().equals("setWifiApEnabled")){
methodFound = true;
WifiConfiguration netConfig = new WifiConfiguration();
netConfig.SSID = "\""+ssid+"\"";
netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
//netConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
//netConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
//netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
//netConfig.preSharedKey = password;
//netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
//netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
//netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
//netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
try {
boolean apstatus = (Boolean) method.invoke(wifiManager, netConfig,true);
//statusView.setText("Creating a Wi-Fi Network \""+netConfig.SSID+"\"");
for (Method isWifiApEnabledmethod: wmMethods)
{
if (isWifiApEnabledmethod.getName().equals("isWifiApEnabled")){
while (!(Boolean)isWifiApEnabledmethod.invoke(wifiManager)){
};
for (Method method1: wmMethods){
if(method1.getName().equals("getWifiApState")){
int apstate;
apstate = (Integer)method1.invoke(wifiManager);
// netConfig = (WifiConfiguration)method1.invoke(wifi);
//statusView.append("\nSSID:"+netConfig.SSID+"\nPassword:"+netConfig.preSharedKey+"\n");
}
}
}
}
if(apstatus)
{
System.out.println("SUCCESSdddd");
//statusView.append("\nAccess Point Created!");
//finish();
//Intent searchSensorsIntent = new Intent(this,SearchSensors.class);
//startActivity(searchSensorsIntent);
}
else
{
System.out.println("FAILED");
//statusView.append("\nAccess Point Creation failed!");
}
}
catch (IllegalArgumentException e) {
e.printStackTrace();
}
catch (IllegalAccessException e) {
e.printStackTrace();
}
catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
if (!methodFound){
//statusView.setText("Your phone's API does not contain setWifiApEnabled method to configure an access point");
}
}
Thats सही नहीं, वाई-फाई हॉटस्पॉट पर एचटीसी डिजायर आप प्रदर्शित नहीं करता है जो उपकरणों की इच्छा से ही वाईफ़ाई नेटवर्क से जुड़े हुए हैं, लेकिन यह खोलता है एक स्वयं का वाईफाई-हॉटस्पॉट (और इसलिए एक वाईफाई-नेटवर्क) और स्वयं पहुंच बिंदु के रूप में कार्य करता है। यही कारण है कि यह कनेक्टेड डिवाइस प्रदर्शित कर सकता है, क्योंकि यह इसका अपना नेटवर्क है। – theomega
ठीक है .... मैं प्रोग्रामिंग रूप से वाईफाई-एक्सेस पॉइंट स्थापित करने में सक्षम हूं ... अब इस नेटवर्क से जुड़े डिवाइसों का पता लगाने में सक्षम होगा? –
आप एक्सेस-प्वाइंट को कहां निबंधित करते हैं? एक गैर एंड्रॉइड डिवाइस पर? तो ठीक। एंड्रॉइड पर सामान्य ऐप में डेटा प्राप्त करने के लिए रूट-एक्सेस के बिना यह काफी मुश्किल हो जाएगा। – theomega