package com.onemore.karungguniapp; import com.facebook.Request; import com.facebook.Session; import com.facebook.widget.WebDialog; import com.facebook.*; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; public final class FacebookUtil { public static void postToFacebook(final Activity _context, final String _name, final String _caption, final String _description, final String _link, final String _imageUrl) { Session s = Session.getActiveSession(); if (s != null && s.isOpened()) { post(_context, _name, _caption, _description, _link, _imageUrl); } else { Session.openActiveSession(_context, true, new Session.StatusCallback() { @Override public void call(Session _session, SessionState _state, Exception _exception) { if (_session.isOpened()) { post(_context, _name, _caption, _description, _link, _imageUrl); } } }); } } private static void post(Context _context, String _name, String _caption, String _description, String _link, String _imageUrl) { Bundle params = new Bundle(); params.putString("name", _name); params.putString("caption", _caption); params.putString("description", _description); params.putString("link", _link); if (_imageUrl != null) { params.putString("picture", _imageUrl); } new WebDialog.FeedDialogBuilder(_context, Session.getActiveSession(), params).build().show(); } public static void login(Activity _context, Session.StatusCallback _callback) { Session.openActiveSession(_context, true, _callback); } public static void logout() { Session session = Session.getActiveSession(); if (session != null) { session.closeAndClearTokenInformation(); } } public static boolean isLoggedIn() { Session session = Session.getActiveSession(); return (session != null && session.getAccessToken() != null && session.getAccessToken().length() > 1); } public static void askMe(Request.GraphUserCallback _callback) { Session session = Session.getActiveSession(); if (session != null) { Request.executeMeRequestAsync(session, _callback); } } /** * Don't forget to added this function to onActivityResult() of your * activities ever, otherwise you can not finish your facebook successfully. */ public static void onActivityResult(Activity _activity, int _requestCode, int _resultCode, Intent _data) { Session.getActiveSession().onActivityResult(_activity, _requestCode, _resultCode, _data); } }