2010-11-05 16 views
20

मैं एक एचटीपी क्लाइंट कनेक्शन में फोन के लिए डिफ़ॉल्ट उपयोगकर्ता एजेंट का उपयोग करना चाहता हूं और जानना चाहता हूं कि उपयोगकर्ता एजेंट को क्वेरी करने के लिए वेबव्यू प्राप्त करने का कोई तरीका है या नहीं।क्या WebView.getSettings() से अलग उपयोगकर्ता एजेंट स्ट्रिंग को प्राप्त करने का कोई तरीका है। GetUserAgentString()?

+0

[उपयोगकर्ता-एजेंट को प्रोग्रामिक रूप से पुनर्प्राप्त करें] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/3626071/retrieve-user-agent-programatically) – Idolon

+2

21 से 0, शायद आपको स्वीकार्य उत्तर का पुनर्मूल्यांकन करना चाहिए? – theblang

+0

@mattblang स्विच, – cottonBallPaws

उत्तर

36

बहुत देर से उत्तर, अन्य लोगों के लिए जो इसे ढूंढ रहे हैं।

मैं HttpUrlConnection द्वारा उपयोग की जाने वाली उपयोगकर्ता एजेंट स्ट्रिंग को प्राप्त करने का एक तरीका ढूंढ रहा था, इसे HttpClient के साथ उपयोग करने और इसे अपनी खुद की संस्करण जानकारी में संशोधित करने के लिए। इस तरह, मेरा एंड्रॉइड ऐप कुछ उपयोगी संस्करण जानकारी प्रदान करता है जो मैं सर्वर की लॉग फ़ाइलों (एंड्रॉइड संस्करण, डिवाइस का नाम/प्रकार, और मेरे ऐप का संस्करण) से निकाल सकता हूं।

उदाहरण के लिए, मेरे फोन के लिए उपयोगकर्ता एजेंट स्ट्रिंग जब HttpUrlConnection का उपयोग कर इस तरह दिखता है:

Dalvik/1.4.0 (Linux; U; Android 2.3.5; HTC Desire HD A9191 Build/GRJ90) 

इस स्ट्रिंग तो जैसे प्रणाली के गुण से प्राप्त किया जा सकता है:

String userAgent = System.getProperty("http.agent"); 
+2

सिर के लिए धन्यवाद एक चेतावनी, लेकिन इस संस्करण के बारे में भी क्या अच्छा है, यह है कि यह वेब ब्राउज़र उपयोगकर्ता-एजेंट _not_ नहीं है। – lilbyrdie

0

नहीं, यह उपयोगकर्ता एजेंट स्ट्रिंग प्राप्त करने का एकमात्र आधिकारिक तरीका है।

Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2 – G1 Phone 

HTTP सर्वर उपयोगकर्ता एजेंट स्ट्रिंग का उपयोग दस्तावेजों के ब्राउज़र-विशिष्ट संस्करणों की सेवा के लिए:

Btw, स्ट्रिंग लौट आए कुछ इस तरह है। यह केवल तभी समझ में आएगा जब आप किसी पृष्ठ के मोबाइल संस्करण और/या यदि आप इसे बाद में एंड्रॉइड के ब्राउज़र में प्रदर्शित करना चाहते हैं।

6

एपीआई स्तर से शुरू 17 WebSettings में एक स्थिर विधि है जो वेबव्यू द्वारा उपयोग की जाने वाली डिफ़ॉल्ट उपयोगकर्ता-एजेंट स्ट्रिंग देता है:

WebSettings.getDefaultUserAgent(context)

चूंकि विधि स्थैतिक है, इसलिए इसे चलाने के लिए आपको वेबव्यू इंस्टेंस की आवश्यकता नहीं है।

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

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