FaceBook Share

最近做了一个facebook的分享功能,由于刚开始用的umeng,分享链接视频的时候总是不成功,就想集成facebook的sdk.下面是集成步骤(FaceBook官网都有):
1、前往 Android Studio | New Project(新项目)| Minimum SDK(最低 SDK)
2、选择 API 15: Android 4.0.3 或更高版本,然后创建新项目。
3、创建新项目后,打开 your_app | build.gradle(您的应用 | build.gradle)
4、将以下字串添加至模块级 /app/build.gradle 的 dependencies 之前:
repositories {
    mavenCentral() 
}
5、将配置最新版本 Facebook SDK 的 compile 依赖项添加到 build.gradle 文件:
dependencies { 
  compile 'com.facebook.android:facebook-android-sdk:4.+'
}
6、构建项目,然后即可将 com.facebook.FacebookSdk 导入应用。
使用 Facebook SDK 之前,需要先进行初始化。添加调用 FacebookSdk.sdkInitialize 或 onCreate 内 Activity 中的 Application:
// Add this to the header of your file:
import com.facebook.FacebookSdk;

// Updated your class body:
@Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     FacebookSdk.sdkInitialize(getApplicationContext());
     // Initialize the SDK before executing any other operations,
     // especially, if you're using Facebook UI elements.
}
添加 Facebook 应用编号
然后向项目的 strings 文件添加您的 Facebook 应用编号,并更新 Android 清单:
1.打开 strings.xml 文件。示例路径:/app/src/main/res/values/strings.xml。
2.添加新的字符串(名称为 facebook_app_id,值为 Facebook 应用编号)
3.打开 AndroidManifest.xml
4.将 uses-permission 元素添加到清单:
<uses-permission android:name="android.permission.INTERNET"/>
5.将 meta-data 元素添加到 application 元素内:
<application android:label="@string/app_name" ...>
    ...
    <meta-data android:name="com.facebook.sdk.ApplicationId"    android:value="@string/facebook_app_id"/>
    ...
</application>
使用登录或分享功能
要使用 Facebook 登录或分享功能,还需要将 FacebookActivity 添加到清单:
<activity android:name="com.facebook.FacebookActivity"
      android:configChanges=
             "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
      android:theme="@android:style/Theme.Translucent.NoTitleBar"
      android:label="@string/app_name" />
发送图片或视频
如果要通过 Android 版 Facebook 应用分享链接、图片或视频,还需要在清单文件中声明 FacebookContentProvider。
在 authorities 值的末尾添加您的应用编号。例如,如果 Facebook 应用编号是 1234,则声明应如下图所示:
<provider android:authorities="com.facebook.app.FacebookContentProvider1234"
      android:name="com.facebook.FacebookContentProvider"
      android:exported="true" />

这儿只给出一个分享链接的例子其他可以去facebook官网找到 eg:

ShareLinkContent.Builder shareLinkContentBuilder = new ShareLinkContent.Builder();
        shareLinkContentBuilder.setContentDescription()
                .setContentTitle()
                .setContentUrl();
        ShareLinkContent shareLinkContent = shareLinkContentBuilder.build();
        if (ShareDialog.canShow(ShareLinkContent.class)) {
            ShareDialog.show((Activity)mContext, shareLinkContent);
        }

注意:
1、依赖facebooksdk的时候不要写4.+这样的形式,我自己这边一直不成功,可能是网络原因,有知道的可以告知一下。
2、根据官方的指导导入4.14.0版本的sdk一直报错,有一个cardView的color资源一直报错,在stateoverflow找到一个解决方法,说是facebooksdk的原因,只要把4.14.0改成4.8.0就好了(不一定非得是4.8.0),没什么影响。
最后附上一个简单的demo:链接

这就是集成facebooksdk的过程,如果还有其他方式可以成功,欢迎留言,感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值