Android Share via Intent Text not Shown in Faceboo

2019-01-23 21:22发布

问题:

When Share via Intent Text not Shown in Facebook

Intent sendIntent = new Intent();
            sendIntent.setAction(Intent.ACTION_SEND);
            sendIntent.putExtra(android.content.Intent.EXTRA_TEXT, "HELOO WORLD");
            sendIntent.setType("text/plain");
            startActivity(Intent.createChooser(sendIntent, "Share with"));;

回答1:

This is as designed, according to Facebook. From this Facebook developers bug report (Facebook login required to view):

Jesse Chen · · Software Engineer at Facebook
Hi Facebook Developers,

This issue is going to be closed by design because our API does not support pre-filling the message for users as seen in our Policy Documentation here (https://developers.facebook.com/docs/guides/policy/application_integration_points/) under Platform Policy IV.2.

August 13, 2012

Note: The link provided above is broken; the current link for Facebook's Platform Policy is here: https://developers.facebook.com/policy/#integration (emphasis added):

IV. Application Integration Points

  1. [...]
  2. You must not pre-fill any of the fields associated with the following products, unless the user manually generated the content earlier in the workflow: Stream stories (user_message parameter for Facebook.streamPublish and FB.Connect.streamPublish, and message parameter for stream.publish), Photos (caption), Videos (description), Notes (title and content), Links (comment), and Jabber/XMPP.

So the Facebook app is just enforcing this—if you try to share something with pre-filled in text, Facebook doesn't know if it was written by the user or filled in by the app, so it makes no assumptions, ignores that text, and requires the user to write the text.