2012-02-17 20 views
8

ऐसा लगता है कि एंड्रॉइड पर प्रॉक्सी विषय के बारे में बहुत भ्रमित संसाधन हैं।एंड्रॉइड की प्रॉक्सी भ्रमित दस्तावेज संसाधन

सबसे पहले, ऐसा लगता है कि सब Proxy class के तरीकों पदावनत घोषित कर रहे हैं और यह करने के लिए सुझाव दिया है:।

"मेजबान, बंदरगाह और अपवर्जन सूची को खोजने के लिए मानक जावा वी एम प्रॉक्सी मानों का उपयोग करें यह कॉल बहिष्करण सूची को अनदेखा करता है। "

आधिकारिक java vm proxy values निम्नलिखित तरीके से पहुँचा जा सकता है:

System.getProperty("http.proxyHost") 
System.getProperty("http.proxyPort") 
System.getProperty("http.nonProxyHosts") 

यह ProxySelector class के प्रलेखन से इसकी पुष्टि लग सकता है।

लेकिन असली डिवाइस या एमुलेटर पर प्रयास करने से, ये मान हमेशा खाली होते हैं। ओएस प्रदाता को लिख सकते हैं द्वारा हस्ताक्षर किए गए

Settings.Secure.putString(res, Settings.Secure.HTTP_PROXY, hostname); 

और केवल एक आवेदन: छिपा ProxySelector activity के एंड्रॉयड स्रोत कोड के लिए देखने के बाद, यह है कि प्रॉक्सी सुरक्षित निम्नलिखित तरीके से प्रणाली की सेटिंग में सहेजा गया है लगता है सुरक्षित सेटिंग्स। डेवलपर्स निम्नलिखित रास्ते में ही पढ़ने मोड में इन सेटिंग्स तक पहुँच सकते हैं:

Settings.Secure.getString(getApplicationContext().getContentResolver(),Settings.Secure.HTTP_PROXY); 

किसी ने स्पष्ट कर सकते हैं, तो यह कैसे एंड्रॉयड में प्रॉक्सी सेटिंग का उपयोग किया जा सकता है की सही रीडिंग है? (कम से कम ऐसा लगता है)। यदि यह सही घुसपैठ है, तो दस्तावेज़ीकरण त्रुटियों से भरा क्यों है?

+0

एंड्रॉइड 2.3.3 के साथ सैमसंग एस 2 का उपयोग करके हैलो लेचक कप्तान, जो विधियां आप हमेशा कहते हैं, वे वापस आते हैं, लेकिन क्यों? – Chris

+0

दुर्भाग्यवश मेरे पास जो भी कहा गया है, उसके लिए मेरे पास सैमसंग एस 2 नहीं है, लेकिन मेरे दृष्टिकोण में यह सैमसंग या विशिष्ट वाहक द्वारा किए गए रोम अनुकूलन पर निर्भर हो सकता है। – lechuckcaptain

+0

@LeChuckCaptain हैलो मैन, क्या आप मुझे ईमेल दे सकते हैं? मुझे आपकी प्रॉक्सी लाइब्रेरी के बारे में सवाल है। अग्रिम में धन्यवाद। – Sajmon

उत्तर

2

प्रॉक्सी मान प्राप्त करने के लिए, सिस्टम गुणों को एक्सेस करने के रूप में आपके द्वारा किया जाना चाहिए; सुरक्षित सेटिंग्स तक पहुंचने के लिए यह आवश्यक नहीं होना चाहिए। यदि आप सामान्य डिवाइस UI के माध्यम से बनाए गए प्रॉक्सी सेटिंग्स को पढ़ने के लिए सिस्टम गुणों का उपयोग नहीं कर सकते हैं, तो एक समस्या है। प्रॉक्सी प्रति नेटवर्क प्रकार हैं, इसलिए एपीएन और वाईफाई में अलग प्रॉक्सी सेटिंग्स होंगी।

+1

एंड्रॉइड 1.X और 2.X संस्करणों के लिए वास्तव में केवल अंतिम उदाहरण काम करता है, सुरक्षा सेटिंग्स डेटाबेस से प्रॉक्सी सेटिंग्स प्राप्त करना। संस्करण 3.1 के बाद से उपयोगकर्ता प्रत्येक वाई-फाई एक्सेस पॉइंट के लिए प्रॉक्सी सेटिंग्स दर्ज कर सकता है, लेकिन डेवलपर्स को इन सेटिंग्स तक पहुंचने का एक तरीका प्रदान नहीं किया गया है (या कम से कम यह दस्तावेज नहीं है)।मैं इसे सरल बनाने के लिए [यह] (http://code.google.com/p/android-proxy-library/) लाइब्रेरी बनाने की कोशिश कर रहा हूं, लेकिन मेरा सवाल है: क्या मैं सही कर रहा हूं या याद किया दस्तावेज में कुछ? – lechuckcaptain

+1

अहॉय, कप्तान। मुझे लगता है कि आप उन सिस्टम से वापस क्या प्राप्त करते हैं .getProperty() विधियां केवल उस योजना के लिए डिफ़ॉल्ट प्रॉक्सी है। यदि आपको कुछ भी वापस नहीं मिलता है, तो शायद किसी को परिभाषित नहीं किया गया है। किसी विशिष्ट यूआरएल के लिए प्रॉक्सी प्राप्त करने के लिए, ऐसा कुछ करें: proxyList = myProxySelector.select (httpUri); – Sparky

+0

वाह! यह कम से कम एंड्रॉइड 3.X या उससे अधिक पर काम करता प्रतीत होता है! रोशनी टिप्पणी! फिर से धन्यवाद स्पार्क! मैं कुछ अतिरिक्त दस्तावेज और उदाहरण लिखने की कोशिश करूंगा, क्योंकि मुझे लगता है कि यह कई अन्य डेवलपर्स को वास्तव में स्पष्ट नहीं है कि इन सेटिंग्स को कैसे प्राप्त करें और उपयोग करें! – lechuckcaptain

2

मुझे नहीं पता कि यह प्रॉक्सी सेटिंग्स तक पहुंचने का "सही" तरीका है, लेकिन यह सही है और आपको सिस्टम "सुरक्षित सेटिंग्स" तक पहुंचने का एकमात्र तरीका है।

शायद this भी दिलचस्प है, ऐसा लगता है कि यह चीजों को आसान बनाता है, खासकर यदि वाईफ़ाई प्रॉक्सी (क्या Android इस तरह कुछ समर्थन करता है?)। कम से कम यह विभिन्न एंड्रॉइड संस्करणों के लिए महान अमूर्तता की तरह दिखता है।

+0

ओह ग्रेट! असल में यह मेरी परियोजना है। मुझे उम्मीद है कि किसी ऐसे व्यक्ति से कुछ जवाब मिलेगा जो समस्या को जानता है और मंच मुझसे बेहतर है। मुझे आशा है कि समस्या पर अग्रणी विशेषज्ञ न बनें! – lechuckcaptain

+1

ओह, ऐसा लगता है कि आपने जीता है और फिर थोड़ा और शोध करना है;) मुझे खेद है, इसके बाद कोई सुराग नहीं है:/ – Luminger

संबंधित मुद्दे