在Android上使用FacebookSDK

在Android上使用FacebookSDK

1.在git裡下載facebookSDK

 

2.導入工程,import進來以後會看到很多個project,基本上請勾選FacebookSDK引用項目

 

3.新建一個APP,運行以下代碼。記錄打印出來的KeyHash用於下面申請APPID

注:紅色字是你使用facebook的項目的packname,這個使用facebook的項目必須先安裝好

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
 
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
"x.x.x", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:",
Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}

 

4.進入developers.facebook.com申請APP

然後Create new app,Create完成以後,會看到下圖!
請看到下圖中的三個橘色框框,
第一個是App ID,請一定要記起來!
第二個是key hash,把你剛剛產生的hashkey貼上去吧!
第三個是Facebook Login(以前沒有),請把它enable吧!



5.在開發的APP中配置

首先先打開/res/values/strings.xml!

然後新增一個element,叫做app_id!

如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
 
    <string name="app_id">438511916228708</string>
 
</resources>

 

接著打開AndroidManifest.xml,

新增一個permission!如下:

<uses-permission android:name="android.permission.INTERNET"/>

 

然後在新增一個activity,如下

<activity android:name="com.facebook.LoginActivity"/>

 

新增一個meta-data,如下

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>

 

完成上述三個步驟以後就可以來寫code了!


6.開始寫code

首先先在onActivityResult進行丟丟登入結果的動作,

如下:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode,resultCode, data);
}

要寫在onActivityResult的原因是因為,你要用Facebook login時,都會跳到另一個Activity(如上的LoginActivity)進行輸入email & pwd!

輸入完以後,才會回到我們自己的Activity!

 

接下來要寫呼叫Login的,

你可以直接寫在onCreate的地方,就是一開這個app就進行fb登入!

如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Session.openActiveSession(this, true, new Session.StatusCallback() {
        @Override
        public void call(Session session, SessionState state,Exception exception) {
            if (session.isOpened()) {
                Log.e("kenyang",session.getAccessToken()); // get token
            }
        }
    });
}

 

7.還有自己寫好的一個發布類,请修改APPID,里面可以发布http图文分享,和本地图片分享,是一个重载的方法

http://download.csdn.net/detail/chococlatetan/8067307

 

參考:

http://blog.kerash.tw/2014/07/android-facebook-sdk-%E9%96%8B%E7%99%BC%E9%80%9F%E8%A8%98/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值