IDE 环境是Android studio
1.Android studio 环境设置:
a.打开项目中的build.gradle 添加mavenCentral()到respositories 中
b.同时添加compile 'com.facebook.android:facebook-android-sdk:[4,5)' 到dependencies{} 中
2.添加Facebook 应用编号
a.打开string.xml文件 添加facebook_app_id 为应用编号
b.打开AndroidMainfest.xml文件
<uses-permission android:name = "android.permission.INTERNET"/>
c.最后将
<!-- fb-sdk -->
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.app.FacebookContentProvider2144277925803909"
android:exported="true" />
<activity
android:name="com.facebook.CustomTabActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.in
rkk1(rkk1) 05-29 17:03:42
tent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="fb2144277925803909" />
</intent-filter>
</activity>
<!-- fb_sdk_end-->
3.在示例应用Facebook开发者资料页添加生成秘钥散列keytool ,Windows环境需要安装
JDK,下载OpenSSL
Mac 操作系统中,运行:
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
Windows 操作系统中,运行:
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | PATH_TO_OPENSSL_LIBRARY\bin\openssl sha1 -binary | PATH_TO_OPENSSL_LIBRARY\bin\openssl base64
注意:这里有一个方便快捷的生成秘钥散列的方法:
获取哈希值的方法:
下载 openssl-0.9.8k_WIN32 下载地址:http://download.csdn.net/detail/h7870181/5054864 下载完成后,解压到C盘根目录
进入cmd 粘贴以下字符串,keystore默认密码为android 注意不要写错了。出来一串字符则为我们所需要的哈希值。
C:\openssl-0.9.8k_WIN32>keytool -export -alias myAlias -keystore C:\Users\Admini
strator\.android\debug.keystore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -bina
ry | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
4.分享代码实现:
activity中初始化以及添加分享事件
import com.facebook.CallbackManager;
import com.facebook.share.widget.ShareDialog;
import com.facebook.share.Sharer;
import com.facebook.FacebookCallback;
import com.facebook.FacebookException;
private void initFacebook() {
//抽取成员变量
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
// this part is optional
shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
//分享成功的回调,在这里做一些自己的逻辑处理
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
});
}
//
//这里分享一个链接,更多分享配置参考官方介绍:https://developers.facebook.com/docs/sharing/android
if (ShareDialog.canShow(ShareLinkContent.class)) {
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setContentUrl(Uri.parse("https://developers.facebook.com"))
.build();
shareDialog.show(linkContent);
}
}
//
protected void onActivityResult(int reqcode,int resultcode,Intent data){
super.onActivityResult(reqcode,resultcode,data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
根据以上步骤可实现Android 版Facebook 的分享功能,后面将结束 ios 版Facebook的分享功能!
参考网站:https://developers.facebook.com/docs/android/getting-started#----