在项目中需要将图片和视频分享到社交平台,所以集成了友盟分享。在集成facebook分享的时候走了不少弯路,现在将过程记录下来。
1.先将友盟facebook的jar包复制到项目的libs文件夹下。
2.在facebook开发者平台(需要有开发者账号)注册Facebook 应用编号,选择添加新应用,选择Android。
输入应用名称。
添加完成后在菜单栏中选择设置。
在这个页面设置正确的包名,Android 包的主要活动类别以及密钥散列。
密钥散列和发布应用时使用的签名文件相关,如果不能正确设置,可能导致facebook的集成功能不能正常使用。密匙散列的生成:请在Windows 内运行以下命令,并替换您的发布密钥别名和 keystore 路径( OpenSSL下载完成后放到C盘根目录)。
keytool -export -alias myAlias -keystore C:UsersasusDesktopKeykeystore_test_dev.keystore | C:openssl-0.9.8k_WIN32inopenssl sha1 -binary | C:openssl-0.9.8k_WIN32inopenssl enc -a –e
此命令将生成包含 28 个字符的字符串。复制此发布密钥哈希,并将其粘贴至 Facebook 应用编号的 Android 设置,如下图所示。
3.配置APP信息。
- 打开
strings.xml
文件。 - 添加新的字符串(名称为
facebook_app_id
,值为 Facebook 应用编号)。 - 打开
AndroidManifest.xml
,在application
元素内配置如下信息(123为facebook_app_id):
<!-- facebook -->
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.app.FacebookContentProvider123"
android:exported="true" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
4.应用审核中的对外公开中打开按钮,如果不打开按钮,发布后则不能分享(很重要)。