Patterns in Software

How To Remove The Facebook Android Sharing Intent

By , 2 May 2014

How To Remove The Facebook Android Sharing Intent
How To Remove The Facebook Android Sharing Intent

I don't really care why Facebook made a mess of their Android sharing intent. Other developers have already pointed out that their iOS sharing works fine, but their Android product only allows you to share URLs and not text. My guess is they are trying to force developers onto their API because, you know, force makes people so much more motivated and creative and all that.

Whatever.

The real problem is that it makes your app look broken, and fortunately there is a simple solution:

Dump Facebook.

Just cut and paste the code below to launch your share intents and Facebook will not be listed as an option. That way you won't look bad when their share page comes up blank.

How To Remove The Facebook Android Sharing Intent
    // get available share intents
    List<Intent> targets = new ArrayList<Intent>();
    Intent template = new Intent(Intent.ACTION_SEND);
    template.setType("text/plain");
    List<ResolveInfo> candidates = this.getPackageManager().
	  queryIntentActivities(template, 0);

    // remove facebook which has a broken share intent
    for (ResolveInfo candidate : candidates) {
        String packageName = candidate.activityInfo.packageName;
        if (!packageName.equals("com.facebook.katana")) {
	  Intent target = new Intent(android.content.Intent.ACTION_SEND);
	  target.setType("text/plain");
	  target.putExtra(Intent.EXTRA_TEXT, "Text to share"));
	  target.setPackage(packageName);
	  targets.add(target);
        }
    }
    Intent chooser = Intent.createChooser(targets.remove(0), translate("Share Via"));
    chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, targets.toArray(new Parcelable[]{}));
    startActivity(chooser);

About Roger Keays

Roger is an active member of the JSF 2 Expert Group and is happy to be a contributor to the Java Community. He has been writing software since the age of 8 and his other interests include languages, science, travel and running.

Add a comment

Please visit http://www.NinthAvenue.com.au/how-to-remove-the-facebook-android-sharing-intent to add your comments.

Join The Mailing List

Subscribe to our mailing list for the latest news and announcements.

Follow Ninth Avenue

Website Updates