साझा करने के लिए वे किस विधि को चुनते हैं, बस एक डायनामिक टेक्स्ट स्ट्रिंग + ऐप पर यूआरएल साझा करना चाहते हैं। मूल एंड्रॉइड शेयर इरादा सही ढंग से सेटअप है, और ट्विटर, जीमेल, आदि के साथ सही काम करता है लेकिन, जैसा कि कई अनुमान लगाएंगे, यह फेसबुक के साथ काम नहीं करता है। स्पष्ट रूप से क्योंकि फेसबुक intent.EXTRA_TEXT
फ़ील्ड में टेक्स्ट स्वीकार नहीं करेगा, केवल एक ही यूआरएल।एंड्रॉइड शेयर इंटेंट एक्स्ट्रा को ब्रांच करना
ठीक है, मेरा प्रश्न यह है कि: क्या साझा करने के लिए वे कौन सी विधि साझा करना चुनते हैं, इस पर निर्भर करते हुए शेयर इरादे अतिरिक्त शाखाओं को बंद करने का कोई तरीका है? उदाहरण के लिए, यदि वे जीमेल या ट्विटर के माध्यम से साझा करते हैं, तो मौजूदा String + URL
(वांछित विकल्प) EXTRA_TEXT
का उपयोग करें, लेकिन यदि वे फेसबुक के माध्यम से साझा करना चुनते हैं, तो केवल EXTRA_TEXT
के रूप में एक यूआरएल का उपयोग करें।
वास्तव में एंड्रॉइड में अंतर्निहित ऐसे सरल कार्य के लिए फेसबुक एंड्रॉइड एसडीके को लागू नहीं करना चाहते हैं।
अपना समय और सलाह की सराहना करें।
इस तरह कुछ करने का प्रयास किया, लेकिन यह स्पष्ट रूप से विफल रहता है क्योंकि यह केवल तभी जांच रहा है जब साझाकरण विकल्प मौजूद हो (जब शेयर पॉप अप हो, शेयर साझा करने के बाद नहीं,), जब वे कोई विधि चुनते हैं तो यह प्रतिक्रिया नहीं देता है।
String shareBody = "app string text " + act_txt + " more text! Get the app at http://www.appurl.com";
PackageManager pm = view.getContext().getPackageManager();
List<ResolveInfo> activityList = pm.queryIntentActivities(sharingIntent, 0);
for(final ResolveInfo app : activityList) {
Log.i(TAG, "app.actinfo.name: " + app.activityInfo.name);
//if((app.activityInfo.name).contains("facebook")) {
if("com.facebook.katana.ShareLinkActivity".equals(app.activityInfo.name)) {
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "http://www.appurl.com");
startActivity(Intent.createChooser(sharingIntent, "Share idea"));
break;
} else {
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "app name");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
startActivity(Intent.createChooser(sharingIntent, "Share"));
break;
}
}
आप लक्षितशेयर से (0) क्यों हटाते हैं –