天天看點

官網內建facebook步驟

Facebook :https://developers:facebook.com

登陸

步驟:

1、建立應用(15及以上版本)

2、在build.gradle中dependenies前添加

repositories {

    mavenCentral()

}

3、在dependenies中添加

  compile ‘com.facebook.android:facebook-android-sdk:4.6.0'

然後重新編譯

4、填寫應用包名、預設啟動類名-》next

5、生成Development key Hashes-》next

6、生成Release key Hash-》next

7、在OnResume和OnPause中添加日志

8、oncreate中添加初始化

 mFacebookLoginButton.setReadPermissions(“user_friends”);//設定權限

   callbackManager = CallbackManager.Factory.create();//建立回調管理

    mFacebookLoginButton.registerCallback(callbackManager, facebookCallback);//注冊

    FacebookCallback<LoginResult> facebookCallback = new FacebookCallback<LoginResult>() {

        @Override

        public void onSuccess(LoginResult loginResult) {

            final String accessToken = loginResult.getAccessToken().getToken();

            Date date = loginResult.getAccessToken().getExpires();

            SharedSettings.setExpiresAtFB(date.getTime());

        }

@Override

        public void onCancel() {

            ToastUtils.showToast(getResources().getString(R.string.cancel_login));

        }

        @Override

        public void onError(FacebookException e) {

            ToastUtils.showToast(e.toString());

        }

    };

 @Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

       super.onActivityResult(requestCode, resultCode, data);

        callbackManager.onActivityResult(requestCode, resultCode, data);

    }

登出、

 LoginManager.getInstance().logOut();

 mFacebookLoginButton.performClick();

分享

一、變量聲明

 private static final String SHARE_GAME_LINK = "www.baidu.com";//"www.baidu.com";// "https://developers.facebook.com/docs/android";

    private static final String SHARE_GAME_NAME = “app”;

    private static final String SHARE_DESC = description;

    private static final String TAG = "TAG";

    private ShareDialog shareDialog;

二、執行個體建立

callbackManager = CallbackManager.Factory.create();

shareDialog = new ShareDialog(this);

shareDialog.registerCallback(callbackManager, callback);

三、分享對話框顯示

    private void facebookShare() {

        if (shareDialog.canShow(ShareLinkContent.class)) {

            ShareLinkContent content = new ShareLinkContent.Builder()

                    .setContentTitle("wakaka")

                    .setImageUrl(Uri.parse(imageUrl))

                    .setContentDescription(SHARE_DESC)

                    .setContentUrl(Uri.parse(SHARE_GAME_LINK))

                    .build();

            shareDialog.show(content);

        }

    }

四、建立回調

1、

 FacebookCallback<Sharer.Result> callback = new FacebookCallback<Sharer.Result>() {

        @Override

        public void onCancel() {

            ToastUtils.showToast("facebook:" + getResources().getString(R.string.m_cancel));

        }

        @Override

        public void onError(FacebookException error) {

            ToastUtils.showToast("facebook:" + error.toString());

        }

        @Override

        public void onSuccess(Sharer.Result result) {

            ToastUtils.showToast("facebook:" + getResources().getString(R.string.success));

        }

    };

2、

@Override

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        callbackManager.onActivityResult(requestCode, resultCode, data);

        super.onActivityResult(requestCode, resultCode, data);

    }