Tuesday, February 4, 2014

facebook wall post with image

download: http://www.mediafire.com/download/dd0qqra99yrnbs1/facebookLoginWallPostWithSdk3.0.zip




public class MainActivity extends Activity {

private static final String APP_ID = "529772120384562";
private static final String[] PERMISSIONS = new String[] { "publish_stream" };

private static final String TOKEN = "access_token";
private static final String EXPIRES = "expires_in";
private static final String KEY = "facebook-credentials";

private Facebook facebook;
private String messageToPost;

Button btFacebookShareButton;

public boolean saveCredentials(Facebook facebook) {
Editor editor = getApplicationContext().getSharedPreferences(KEY,
Context.MODE_PRIVATE).edit();
editor.putString(TOKEN, facebook.getAccessToken());
editor.putLong(EXPIRES, facebook.getAccessExpires());
return editor.commit();
}

public boolean deleteCredentials(Facebook facebook) {
Editor editor = getApplicationContext().getSharedPreferences(KEY,
Context.MODE_PRIVATE).edit();
editor.putString(TOKEN, "");
editor.putLong(EXPIRES, 0);

Log.e("------deleteCredentials() ", " ");

return editor.commit();
}

public boolean restoreCredentials(Facebook facebook) {
SharedPreferences sharedPreferences = getApplicationContext()
.getSharedPreferences(KEY, Context.MODE_PRIVATE);
facebook.setAccessToken(sharedPreferences.getString(TOKEN, null));
facebook.setAccessExpires(sharedPreferences.getLong(EXPIRES, 0));
return facebook.isSessionValid();
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

facebook = new Facebook(APP_ID);
restoreCredentials(facebook);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

btFacebookShareButton = (Button) findViewById(R.id.btFacebookShareButton);

btFacebookShareButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
if (!facebook.isSessionValid()) {
loginAndPostToWall();
} else {
postToWall(messageToPost);
// loginAndPostToWall();
}

}
});

String facebookMessage = getIntent().getStringExtra("facebookMessage");
if (facebookMessage == null) {
facebookMessage = "https://play.google.com/store/apps/details?id=com.polarbit.rthunder2lite"
+ " minute = "
+ new Date().getMinutes()
+ " "
+ new Date().getSeconds();
}
messageToPost = facebookMessage;
}

@Override
public void onBackPressed() {

Log.e("------onBackPressed() ", " ");

// TODO Auto-generated method stub
super.onBackPressed();

deleteCredentials(facebook);
}

@Override
protected void onDestroy() {

Log.e("------onDestroy", " ");
// TODO Auto-generated method stub
super.onDestroy();

deleteCredentials(facebook);

}

public void doNotShare(View button) {
finish();
}

/*
* public void share(View button) { if (!facebook.isSessionValid()) {
* loginAndPostToWall(); } else { postToWall(messageToPost); //
* loginAndPostToWall(); } }
*/

public void loginAndPostToWall() {
facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH,
new LoginDialogListener());
}

public void postToWall(String message) {
Bundle parameters = new Bundle();
parameters.putString("message", message);
parameters.putString("description", "topic share");

parameters.putString("picture", "http://upload.wikimedia.org/wikipedia/commons/a/a6/Bottlenose_Dolphin_KSC04pd0178.jpg");
parameters.putString("name", "BanglaGaan");
parameters.putString("caption", "G-Series Online Music Store");
parameters.putString("description", "Listening to ......");

try {
facebook.request("me");
String response = facebook.request("me/feed", parameters, "POST");
Log.d("Tests", "got response: " + response);
if (response == null || response.equals("")
|| response.equals("false")) {
showToast("Blank response.");
} else {
showToast("Message posted to your facebook wall!");
}
// finish();
} catch (Exception e) {
showToast("Failed to post to wall!");
e.printStackTrace();
finish();
}
}

class LoginDialogListener implements DialogListener {
public void onComplete(Bundle values) {
saveCredentials(facebook);
if (messageToPost != null) {
postToWall(messageToPost);
}
}

public void onFacebookError(FacebookError error) {
showToast("Authentication with Facebook failed!");
finish();
}

public void onError(DialogError error) {
showToast("Authentication with Facebook failed!");
finish();
}

public void onCancel() {
showToast("Authentication with Facebook cancelled!");
finish();
}
}

private void showToast(String message) {
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT)
.show();
}

}

No comments:

Post a Comment