दिलचस्प पोस्ट
.NET में जेनेरिक विधियों में उनके रिटर्न प्रकार अनुमानित नहीं हो सकते। क्यूं कर? एप्लिकेशन बाइनरी इंटरफ़ेस (एबीआई) क्या है? एक जावास्क्रिप्ट ऑब्जेक्ट की एक प्रति को संशोधित करना मूल ऑब्जेक्ट को बदलना है अनुरोध का उपयोग करके नोड। जे में बाइनरी सामग्री प्राप्त करना संकलित निष्पादन योग्य में DLL को एम्बेड करना फ़ायरफ़ॉक्स में एसवीजी पर मूल परिवर्तन जावास्क्रिप्ट में ऑब्जेक्ट फ़ाइल करने के लिए dataURL कन्वर्ट करने के लिए कैसे? एंड्रॉइड के लिए स्थानीय चित्र कैशिंग समाधान: स्क्वायर पिकासो vs यूनिवर्सल इमेज लोडर 1 प्रतिबद्ध द्वारा वापस स्थानीय और दूरस्थ जीआईटी भंडार रोलिंग एक चर से बैच निकालें पथ और फ़ाइल नाम पायथन urllib2 बेसिक एथ समस्या वर्ड 2010 Addin (सी # में विकसित) से "कुंजीपैड" इवेंट कैसे प्राप्त करें? एंड्रॉइड: टोस्ट के साथ बैकप्रेस () पर उपयोग करने के लिए उचित तरीका सीआईडीआर पते को सबनेट मुखौटा और नेटवर्क पते में परिवर्तित करना GitHub त्रुटि के लिए पुशः .netrc फ़ाइल में होस्ट github.com नहीं मिल सका; चूक का उपयोग करना

ACTION_SEND के माध्यम से एंड्रॉइड ऐप से फेसबुक पर टेक्स्ट साझा करें

मेरे पास एक एंड्रॉइड ऐप है और यह अन्य ऐप्स के माध्यम से पाठ भेजने का समर्थन करता है। इसलिए ACTION_SEND इरादे और EXTRA_TEXT फ़ील्ड का उपयोग करता है। चयनकर्ता मुझे ऐसे सभी एप्लिकेशन प्रस्तुत करता है जो ऐसे इरादे को संभाल सकते हैं ये ट्विटर, ईमेल, … और फेसबुक हैं लेकिन जब मैं फेसबुक का चयन करता हूँ तो यह ब्राउज़र खोलता है और निम्न पृष्ठ पर जाता है:

http://m.facebook.com/sharer.php?u=mytext

यह मेरे टेक्स्ट और सबमिट बटन को दिखाता है। लेकिन जब मैं सबमिट बटन को कुछ भी नहीं कहता हूं, पेज बस फिर से लोड करता है मुझे लगता है कि शायद ही फेसबुक ऐप के माध्यम से यूआरएल भेजने संभव है। क्या यह हो सकता है?

क्या किसी ने फेसबुक एंड्रॉइड ऐप के माध्यम से ACTION_SEND के माध्यम से पाठ भेजने का प्रबंधन किया है?

Solutions Collecting From Web of "ACTION_SEND के माध्यम से एंड्रॉइड ऐप से फेसबुक पर टेक्स्ट साझा करें"

संपादित किया गया: Android के लिए आधिकारिक फेसबुक ऐप की नई रिलीज (14 जुलाई 2011) आईटी वर्क्स !!!

ओल्ड: उपरोक्त उदाहरण काम नहीं करते अगर उपयोगकर्ता साझा करने के लिए फेसबुक ऐप को चुनता है, लेकिन उपयोगकर्ता काम करते हैं, तो उपयोगकर्ता फेसबुक पर पोस्ट करने के लिए सेसमिक ऐप का चयन करता है मुझे लगता है कि सेशिक फेसबुक की तुलना में फेसबुक एपीआई का बेहतर कार्यान्वयन है!

फेसबुक एप के जरिए शेयर काम करने के लिए, आपको केवल कम से कम एक लिंक के लिए ही ज़रूरत है:

Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_TEXT, "Wonderful search engine http://www.google.fr/"); startActivity(Intent.createChooser(intent, "Share with")); 

यह सही साझाकरण विंडो दिखाएगा, लेकिन जब आप शेयर पर क्लिक करेंगे, कुछ भी खुश नहीं होगा (मैंने आधिकारिक ट्विटर ऐप के साथ भी कोशिश की, यह काम नहीं करता है)।

फेसबुक ऐप साझा करने का काम करने का एकमात्र तरीका मुझे कोई टेक्स्ट नहीं दिखाया गया है:

 Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_TEXT, "http://www.google.fr/"); startActivity(Intent.createChooser(intent, "Share with")); 

यह निम्नलिखित विंडो दिखाएगा और शेयर बटन काम करेगा:

फेसबुक साझा

जाहिर है, यह स्वत: शेयर से पॉप्युलेट करने के लिए लिंक से एक छवि और पाठ लेता है।

यदि आप केवल पाठ साझा करना चाहते हैं, तो आपको फेसबुक एपीआई का उपयोग करना होगा: https://github.com/facebook/facebook-android-sdk

06/2013:

  • यह फेसबुक से एक बग है, आपका कोड नहीं
  • फेसबुक इस बग को ठीक नहीं करेगा , वे कहते हैं कि यह "डिज़ाइन द्वारा" है, जिन्होंने एंड्रॉइड शेयर सिस्टम को तोड़ दिया है: https://developers.facebook.com/bugs/332619626816423
  • एसडीके का उपयोग करें या केवल यूआरएल को साझा करें
  • युक्तियाँ: आप पोस्ट के लिए पाठ के रूप में वेब पेज शीर्षक का उपयोग करके थोड़ा धोखा दे सकते हैं।

सबसे पहले आपको हेडलर साझाकरण विकल्प के लिए क्वेरी इंटेन्ट की आवश्यकता है। फिर आशय को फिल्टर करने के लिए पैकेज नाम का उपयोग करें, तो हमारे पास केवल एक आशय होगा जो कि हैंडलर साझाकरण विकल्प है!

फेसबुक के द्वारा साझा करें

 Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); shareIntent.setType("text/plain"); shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Content to share"); PackageManager pm = v.getContext().getPackageManager(); List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent, 0); for (final ResolveInfo app : activityList) { if ((app.activityInfo.name).contains("facebook")) { final ActivityInfo activity = app.activityInfo; final ComponentName name = new ComponentName(activity.applicationInfo.packageName, activity.name); shareIntent.addCategory(Intent.CATEGORY_LAUNCHER); shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); shareIntent.setComponent(name); v.getContext().startActivity(shareIntent); break; } } 

बोनस – ट्विटर के द्वारा साझा करें

 Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); shareIntent.setType("text/plain"); shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Content to share"); PackageManager pm = v.getContext().getPackageManager(); List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent, 0); for (final ResolveInfo app : activityList) { if ("com.twitter.android.PostActivity".equals(app.activityInfo.name)) { final ActivityInfo activity = app.activityInfo; final ComponentName name = new ComponentName(activity.applicationInfo.packageName, activity.name); shareIntent.addCategory(Intent.CATEGORY_LAUNCHER); shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); shareIntent.setComponent(name); v.getContext().startActivity(shareIntent); break; } } 

और अगर आप किसी अन्य साझाकरण एप्लिकेशन के माध्यम से साझा करना चाहते हैं, तो उसे ढूंढें Tep ब्लॉग – एंड्रॉइड के माध्यम से एडवांस शेयर

तो मेरे पास एक काम है, लेकिन यह मानता है कि आपके द्वारा साझा किए जाने वाले पृष्ठ पर आपका नियंत्रण है …

यदि आप अपने EXTRA_TEXT को ऐसे स्वरूपित करते हैं …

 String myText = "Hey!\nThis is a neat pic!"; String extraText = "http://www.example.com/myPicPage.html?extraText=\n\n" + myText; 

… फिर गैर-फेसबुक ऐप्स पर, आपका टेक्स्ट ऐसा कुछ दिखाई देना चाहिए:

http://www.example.com/myPicPage.html?extraText=

अरे!
यह एक साफ तस्वीर है!

अब अगर आप अपनी वेबसाइट अपडेट करते हैं, तो अतिरिक्त टेस्ट क्वेरी पैरामीटर के साथ अनुरोधों को पृष्ठ के मेटा डेटा में अतिरिक्त टेक्स्ट की सामग्री वापस आती है।

 <!-- Make sure to sanitize your inputs! eg http://xkcd.com/327/ --> <meta name="title" content="Hey! this is a neat pic!"> 

तब जब फेसबुक उस यूआरएल को संवाद उत्पन्न करने से बचता है, तो यह शीर्षक मेटा डेटा पढ़ता है और इसे आपके शेयर संवाद में एम्बेड करता है

मुझे एहसास है कि यह एक सुंदर योक समाधान है, इसलिए नमक के एक अनाज के साथ ले लो …

ऐसा प्रतीत होता है कि फेसबुक ऐप इस इरादे को ग़लत ढंग से संभालता है। एंड्रॉइड के लिए फेसबुक एपीआई का उपयोग करने के लिए सबसे विश्वसनीय तरीका लगता है

एसडीके इस लिंक पर है: http://github.com/facebook/facebook-android-sdk

'उपयोग' के तहत, यह है:

एक फेसबुक संवाद प्रदर्शित करें

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

यह ऐसा करने का सबसे अच्छा तरीका है – एक संवाद प्रदर्शित करें जो दीवार पर पोस्ट करेगा। केवल एक मुद्दा यह है कि उन्हें पहले लॉग इन करना पड़ सकता है

 Check this out : By this we can check activity results also.... // Open all sharing option for user Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); sharingIntent.setType("text/plain"); sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, ShortDesc+" from "+BusinessName); sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, ShortDesc+" "+ShareURL); sharingIntent.putExtra(Intent.EXTRA_TITLE, ShortDesc+" "+ShareURL); startActivityForResult(Intent.createChooser(sharingIntent, "Share via"),1000); /** * Get the result when we share any data to another activity * */ public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch(requestCode) { case 1000: if(resultCode == RESULT_OK) Toast.makeText(getApplicationContext(), "Activity 1 returned OK", Toast.LENGTH_LONG).show(); else Toast.makeText(getApplicationContext(), "Activity 1 returned NOT OK", Toast.LENGTH_LONG).show(); break; case 1002: if(resultCode == RESULT_OK) Toast.makeText(getApplicationContext(), "Activity 2 returned OK", Toast.LENGTH_LONG).show(); break; }// end switch }// end onActivityResult 
 ShareDialog shareDialog = new ShareDialog(this); if(ShareDialog.canShow(ShareLinkContent.class)) { ShareLinkContent linkContent = new ShareLinkContent.Builder().setContentTitle(strTitle).setContentDescription(strDescription) .setContentUrl(Uri.parse(strNewsHtmlUrl)) .build(); shareDialog.show(linkContent); } 

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

इस पल के आसपास का एकमात्र काम उनके एसडीके का उपयोग करना है

अगर आप चाहते हैं कि आप संदेश चाहते हैं कि वह इसे हशटैग के रूप में साझा करे, तो आप को टेक्स्ट डालने के लिए # दिखाएं