'Android share intent for Facebook

I have some problem with below code. This code is working for email, message, Twitter (for sending the text) but not for Facebook. Why?

Intent i=new Intent(android.content.Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(android.content.Intent.EXTRA_SUBJECT,"ScribeAir");
i.putExtra(android.content.Intent.EXTRA_TEXT, "ScribeAir has some cool features. Just use it...");
startActivity(Intent.createChooser(i,"Share"));


Solution 1:[1]

Answering to question which is asked long long time ago..

As of i know, Facebook does not allow the Pre-populating of text through Intent unlike in the Twitter / Email. It by Facebook Default. But with the help of Facebook SDK, we can able to share text in the form of link.

Refer Facebook SDK sharing Docs

Solution 2:[2]

This is not working for Facebook because Facebook can share only a link via ACTION_SEND. if you want to send Text As well as you mentioned:

Firstly you have to get the list of installed application that support ACTION_SEND.

Then build a dialog

  Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
    sharingIntent.setType("text/plain");
    List activities = getPackageManager().queryIntentActivities(sharingIntent,0);

After the activities now build a dialog to show activities .then get the intent for Facebook and share it with Facebook API all other to be handled by itself but please pass the class name for other activities.

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
    sharingIntent.setClassName(,);
    sharingIntent.setType("text/plain");
    sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"hello");
    sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "facebook"); 

Solution 3:[3]

Intent sharing = new Intent(android.content.Intent.ACTION_SEND); 
    sharing.setClassName(,);
    sharing.setType("text/plain");
    sharing.putExtra(android.content.Intent.EXTRA_SUBJECT,"hello");
    sharing.putExtra(android.content.Intent.EXTRA_TEXT, "yahoomail");

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Swaminathan V
Solution 2 Michele La Ferla
Solution 3 Michele La Ferla