Step 1 : Create project on facebook developer page and get facebook app id
Step 2 : Insert following gradle file and sync your project
compile ‘com.facebook.android:facebook-android-sdk:4.5.0’
Step 3 : Put your facebook app id in string resources as given below
<string name=”facebook_app_id”>1763757463948957</string>
Step 4 : Put following code in application tag of manifest file
<meta-data
android:name=”com.facebook.sdk.ApplicationId”
android:value=”@string/facebook_app_id” />
<activity
android:name=”com.facebook.FacebookActivity”
android:configChanges=”keyboard|keyboardHidden|screenLayout|screenSize|orientation”
android:label=”@string/app_name” />
Step 5 : Put following code in application tag of manifest file
<meta-data
android:name=”com.facebook.sdk.ApplicationId”
android:value=”@string/facebook_app_id” />
<activity
android:name=”com.facebook.FacebookActivity”
android:configChanges=”keyboard|keyboardHidden|screenLayout|screenSize|orientation”
android:label=”@string/app_name” />
Step 6 : Use following code for facebook background post sharing
CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(this);
setContentView(R.layout.activity_main);
callbackManager = CallbackManager.Factory.create();
((Button) findViewById(R.id.btn_url)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//call facebook sharing
shareFbPost();
}
});
}
public void shareFbPost()
{
LoginManager.getInstance().logInWithPublishPermissions(MainActivity.this, Arrays.asList(“publish_actions”));
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d(“loginResult”, “” + loginResult.toString());
// App code
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setContentTitle(“Title”)
.setImageUrl(Uri.parse(“URL path of your image”))
.setContentDescription(“Description”))
.build();
ShareApi.share(linkContent, null);
}
@Override
public void onCancel() {
// App code
finish();
}
@Override
public void onError(FacebookException exception) {
// App code
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}