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);
Roger Keays is an artist, an engineer, and a student of life. He has no fixed address and has left footprints on 40-something different countries around the world. Roger is addicted to surfing. His other interests are music, psychology, languages, the proper use of semicolons, and finding good food. |