2012-12-30 16 views
5

मैं एक एंड्रॉइड ऐप बना रहा हूं जिसमें मैं ट्विटर बटन पर क्लिक करने के लिए ट्विटर शेयर बटन जोड़ना चाहता हूं, ट्विटर पर कुछ (शीर्षक + यूआरएल) साझा करेगा। मैं लगभग वहां हूं, लेकिन मुझे लिंक के साथ समस्या है। जब मैं "&" के साथ दो पैरामीटर देता हूं, तो यह काम नहीं करेगा। अगर किसी के पास कोई उपयुक्त उत्तर है जिसे मैं कार्यान्वित कर सकता हूं तो कृपया मुझे बताएं। जवाब वास्तव में सराहना की जाएगी।एंड्रॉइड में ट्विटर शेयर बटन कैसे बनाएं?

//Full URL: http://www.mywebsite.com/index.php?option=com_content&catid=40&id=12546&view=article** 

String title = "Hello title"; 
String catid = "40"; 
String id = "12546"; 

Uri.Builder b = Uri.parse("http://www.mywebsite.com/").buildUpon(); 
    b.path("index.php"); 
    b.appendQueryParameter("option=com_content&catid", catid); 
    b.appendQueryParameter("&id", id); 
    b.appendQueryParameter("&view=article", null); 
    b.build(); 

String url = b.build().toString(); 

String tweetUrl = "https://twitter.com/intent/tweet?text=" + title + "&url=" + url; 

Uri uri = Uri.parse(tweetUrl); 
startActivity(new Intent(Intent.ACTION_VIEW, uri)); 

आउटपुट: => "http://www.mywebsite.com/index.php?option=com_content & CatID = 40"

लेकिन => "& आईडी = 12546 & देखें = आलेख "गायब है।

उत्तर

3

आपको "appendQueryParameter" के पहले पैरामीटर के अंदर ampersand() प्रदान नहीं करना चाहिए, यह आपके लिए स्वचालित रूप से जोड़ा जाएगा। के रूप में यह प्रयोग करें:

b.appendQueryParameter("id", id); // instead of ("*&*id", id); 
b.appendQueryParameter("view=article", null); // instead of ("*&*view=article", null); 

और उत्पादन एक होने जा रहा है जैसा कि आप उम्मीद

https://twitter.com/intent/tweet?text=Hello title&url=http://www.mywebsite.com/index.php?option%3Dcom_content%26catid=40&id=12546&view%3Darticle=null 

here देखें उपयोग का एक उदाहरण।

+0

एडुआर्डो, मैं तुम्हें क्या बताया था, लेकिन यह अभी भी काम नहीं कर रहा \t \t Uri.Builder ख = Uri.parse ("http://www.mywebsite.com/") .buildUpon(); बीपीएथ ("index.php"); b.appendQuery पैरामीटर ("विकल्प = com_content & catid", catid); b.appendQuery पैरामीटर ("आईडी", आईडी); // के बजाय ("* और * आईडी", आईडी); b.appendQuery पैरामीटर ("देखें = आलेख", शून्य); // के बजाय ("* और * देखें = आलेख", शून्य); बी.बिल्ड(); आउटपुट => अभी भी वही – Osman

+0

दिलचस्प है, मैं इसका परीक्षण करने के लिए नवीनतम एपीआई का उपयोग कर रहा हूं और यह यहां काम कर रहा है। मुझे क्या हो रहा है पर कोई सुराग नहीं है :( – Eduardo

+0

मैंने एपीआई को आर 17 में अद्यतन किया और समस्या हल हो गई है ... धन्यवाद ... – Osman

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