android 集成Facebook 分享功能
16lz
2021-01-23
开场白 依然给大脸书
承接上一篇 android 集成facebook的登录功能
首先分享功能 要在清单文件中添加如下内容提供者:
<provider android:authorities="com.facebook.app.FacebookContentProvider{APP_ID}" android:name="com.facebook.FacebookContentProvider" android:exported="true"/>
主要介绍Link分享的模板
包含的内容:
a contentTitle 标题a imageURL, 图片urla contentDescription of the content, 描述
图片摘自:facebook官方
举个栗子:
//创建一个shareLinkCOntent,Builder linkContent = new ShareLinkContent.Builder() .setContentTitle(title) .setContentDescription(text) .setShareHashtag(shareHashtagBuilder.build()) .setImageUrl(imgUri); if(null != link && link.length > 0){ linkContent.setContentUrl(Uri.parse(link[0])); }else{ linkContent.setContentUrl(Uri.parse(GlobalInfo.getInstance(activity).getShareUrl())); } ShareLinkContent sc = linkContent.build();
解释一个setShareHashtag这个是一个标签,就是在发布的时候自动加上的,当然用户可以去掉
怎么创建ne,也是采用的构建者模式的链式调用
ShareHashtag.Builder shareHashtagBuilder = new ShareHashtag.Builder(); shareHashtagBuilder.setHashtag("#HelloWorld");
这样就可以了吗 no
我们一般是调用用户的facebook的客户端进行post,就像我们分享到新浪微博,直接掉微博客户端
这里就用到了ShareDialog,加如灭有客户端,则调用web端
就像登录一样,我们一样要设置回调接口
public class MainActivity extends FragmentActivity { CallbackManager callbackManager; ShareDialog shareDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); callbackManager = CallbackManager.Factory.create(); shareDialog = new ShareDialog(this); // 这是可选的,你如果不使用也是不影响的 shareDialog.registerCallback(callbackManager, new FacebookCallback() { ... }); }
这是必须的@Overrideprotected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data);}
然后shareDialog.show(sc);
就可以展示了
更多相关文章
- Android支持的图片格式
- Android——插入图片【ImageView】属性详解
- Android系统平台progurad混淆功能使能
- android图片透明度跟缩放大小动画事件
- Android 利用AutoCompleteTextView实现模糊搜索功能,搜索结果自动
- [置顶] 我的Android进阶之旅------>Android之拖动条(SeekBar和Ra
- Android中简单实现选择图片并裁剪
- Android短信功能实现源码