2010-09-20 15 views
7

का उपयोग करते समय शीर्षलेख पास करना मैं वेब पेज खोलते समय कुछ शीर्षलेख पास करना चाहता हूं। अभी, मैं कुछ ऐसा कर रहा हूं: browserIntent = new Intent(Intent.ACTION_VIEW,Uri.parse(data.link)); startActivity(browserIntent);ब्राउज़र इरादे

अब मैं अटक गया हूं क्योंकि मुझे नहीं पता कि ब्राउज़रइन्टेंट का उपयोग करके हेडर को कैसे पास किया जाए। मैंने browserIntent.putExtra() का उपयोग करने का प्रयास किया है लेकिन यह काम नहीं करता है।

क्या कोई भी मदद कर सकता है। !!

उत्तर

11

यह पिछले 2 दिनों में भी मेरा सबसे बड़ा सवाल था! और मैंने पाया !!!

मेरे पास एक नक्शा ऑब्जेक्ट है जिसे मैंने हेडर जानकारी संग्रहीत की है। उसके बाद निम्न:

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
Bundle bundle = new Bundle(); 
if(mExtraHeader!=null){ 
for(String key: mExtraHeader.keySet()){ 
    bundle.putString(key, mExtraHeader.get(key)); 
} 
} 
i.putExtra(Browser.EXTRA_HEADERS, bundle); 
startActivity(i); 

एक समस्या यह है ... मुझे लगता है कि यह केवल डिफ़ॉल्ट ब्राउज़र और अन्य ब्राउज़रों के साथ काम करेगा Browser.EXTRA_HEADERS मुझे लगता है नहीं होगा। संसाधन: http://gitorious.org/rowboat/packages-apps-browser/blobs/a563d09392905140893d7a017dd63721577e1953/src/com/android/browser/BrowserActivity.java

+0

एंड्रॉइड 6.0.1 पर क्रोम 50 के साथ मेरे नवीनतम टेस्ट EXTRA_HEADERS के साथ ठीक काम किया। – keineantwort

+0

यह मेरे लिए क्रोम 57 के साथ काम कर रहा था। लेकिन मैंने अपने क्रोम को 61 तक अपडेट किया और अब यह काम नहीं कर रहा है !! : | – Mansour

+0

@ मंसूर क्या आपको पता चला कि इस समस्या को कैसे हल किया जाए? –

1

जैसा कि सतोशी अनुमान लगाया गया है, यह क्रोम के साथ काम नहीं करता है। यदि आपको हेडर पास करने की आवश्यकता है, तो आपको अपना स्वयं का वेब व्यू बनाना होगा और हेडर के मानचित्र के साथ यूआरएल लोड करना होगा। मान लें कि mWebView आपके वेबदृश्य का संदर्भ है।

Map<String, String> headers = new HashMap<>(); 
headers.put("referer", "http://some-referer"); 
mWebView.loadUrl(mUrl, headers); 
संबंधित मुद्दे