,开场白给大脸书

导入SDK
dependencies {
compile 'com.facebook.android:facebook-android-sdk:4.15.0'

app_id在string文件中定义好

<string name="facebook_app_id">[APP_ID]</string>
<string name="fb_login_protocol_scheme">fb[APP_ID]</string>

在清单文件的配置:

<application android:label="@string/app_name" ...>;...<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>...<activity android:name="com.facebook.FacebookActivity"android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"android:label="@string/app_name" /><activityandroid:name="com.facebook.CustomTabActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" /><data android:scheme="@string/fb_login_protocol_scheme" /></intent-filter></activity>
</application>

接下来就可以写了

登录按钮 fb 中的sdk里自带了一个按钮,如下:


<com.facebook.login.widget.LoginButtonandroid:id="@+id/login_button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:layout_marginTop="30dp"android:layout_marginBottom="30dp" /> 

它的样式是下面这种

当然你也可以自己定义,但是还是要调用原按钮的回调,你可以像我这样写(当然可以选择无视,跳过):

//这是自定义的点击框,
bindFacebook = ((RelativeLayout) findViewById(R.id.bindFacebook));callbackManager = CallbackManager.Factory.create();//这是new了一个facebook原带的按钮(没有写在xml中)fcLogin = new LoginButton(MyInfoActivity.this);fcLogin.setReadPermissions(Arrays.asList("public_profile", "email"));//自定义控件的点击事件bindFacebook.setOnClickListener(new OnClickListener() {@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)@Overridepublic void onClick(View v) {if (!isBind){//调用faceb原按钮的点击事件(要求api 最低15(应该是4.0.3吧,差不多)),这样你就可以为所欲为的把按钮调成你喜欢的样子,fcLogin.callOnClick();}}});

为按钮注册回调:
CallbackManager callbackManager;

//
callbackManager = CallbackManager.Factory.create();
LoginButton fcLogin = (LoginButton) findViewById(R.id.login_button);//申请读取用户facebook账户一些信息,fcLogin.setReadPermissions(Arrays.asList("public_profile", "email"));fcLogin.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {@Overridepublic void onSuccess(LoginResult loginResult) {//成功登录
//              UIHelper.shoToastMessage(MyInfoActivity.this, "SUCCESS");final AccessToken token = loginResult.getAccessToken();if(null != token){GraphRequest request = GraphRequest.newMeRequest(token,new GraphRequest.GraphJSONObjectCallback() {@Overridepublic void onCompleted(JSONObject object, GraphResponse response) {//object包含了facebook用户的信息,比如id,用户名,//可以绑定处理,也可以其他处理//}});}}@Overridepublic void onCancel() {}@Overridepublic void onError(FacebookException exception) {exception.printStackTrace();}}); //必须调用下面的方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);callbackManager.onActivityResult(requestCode, resultCode, data);
}

关于翻墙的工具,推荐一个,是个浏览器的插件,国外的, 叫Tunnello ,每天有200M的流量免费试用,不限期限,像只干浏览网页这种还是不错的,
就不贴地址了,大家自行百度,不需要翻墙哦

关于facebook的分享 请看下一篇文章:

http://blog.csdn.net/sinat_35670989/article/details/77096259

Android 集成facebook 登录和分享相关推荐

  1. Android集成Facebook登录时遇到的问题invalid key hash.the key hash

    一.Facebook:登录功能已停用,我们已停用通过嵌入式浏览器登录Facebook的功能 错误提示: 为保护账户安全,我们已停用通过嵌入式浏览器登录Facebook的功能.若要继续,请更新登录使用的 ...

  2. (unity)新手接入Facebook登录,分享以及google登录,Android,IOS,OC接入篇

    最近接Android,IOS的Facebook登录,分享 以及Google登录,分享流程以及遇到的问题整理. 一. Android接入 google登录 第一步,前往 [ firebase] http ...

  3. Facebook 登录、分享

    第一次做海外项目,遇到需求,需要接入Facebook登录与分享. 只说遇到的麻烦,1.登录,「网址发不了--」 首先,创建应用,这里需要注意,创建完应用后,要按需开放部分权限,否则无法唤起应用, 另外 ...

  4. Android集成微信登录

    Android集成微信登录是比较常见的了,此次我把自己集成的过程总结出来,供大家学习参考. 1.首先需要你去微信开放平台申请对应的APPID,地址https://open.weixin.qq.com/ ...

  5. Android 集成 Facebook 分享常见问题

    Facebook 作为世界上用户量最大的应用之一,很多时候我们可能会将自己应用的数据分享到 facebook上,那么我们就需要集成其 SDK,我们可以直接去集成 Facebook 官方的 SDK,也可 ...

  6. Android 应用程序集成FaceBook 登录及二次封装

    1.首先在Facebook 开发者平台注册一个账号 https://developers.facebook.com/ 开发者后台  https://developers.facebook.com/ap ...

  7. Android 版 Facebook 登录

    Android 版 Facebook SDK 让用户可以通过 Facebook 登录注册您的应用.通过 Facebook 登录您的应用时,用户可以向应用授予权限,以便您可以检索信息或以用户的身份在 F ...

  8. 视频直播平台源码关于Facebook登录、分享接入流程

    现在,视频直播平台移民三方账号登录.分享功能是最基本的功能设置,而且随着互联网技术的发展,很多视频直播平台源码需要对Facebook.Twitter.Line等国外APP进行接入,从而实现用户流量的增 ...

  9. Android集成友盟社会化分享

    现在社会化分享组件有很多友推.Mob的ShareSDK.友盟社会化分享组件等,前面两种以前在做项目的时候用到过,最近的项目需要实现分享视频到各社交平台,对比了这三种组件觉得友盟社会化分享组件更适合这个 ...

最新文章

  1. AI大牛李飞飞最新去向, 加入Twitter 董事会
  2. python turtle画圣诞树-Python画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
  3. Linux 3D 编程学习总结
  4. Swing-BoxLayout用法-入门
  5. python beautifulreport_Python unittest 之 BeautifulReport可视化报告
  6. java调用android_Java及Android中常用链式调用写法简单示例
  7. JUnit5 测试套件示例
  8. R语音:解决cor.test报错的 'y'必需是数值矢量
  9. PHP技术亮点,我眼里的THINKPHP5新亮点(1)
  10. mysql sql使用_MySql简单sql使用
  11. 【Java并发编程】:Runnable和Thread实现多线程的区别
  12. Windows7下Edge的首页关闭我的资讯,兴趣等
  13. centos7 wps安装
  14. 安全测试之sql注入
  15. 【移动应用趋势】2022 年值得关注的 15 大移动应用开发趋势
  16. w ndoWs8pE模式下载,天意PE迷你版V2011.9.9(天意PE系统)下载 - 下载吧
  17. 你应该知道的10 种跨域解决方案(附终极方案)
  18. 成交量占比过半 优信拍继续领跑二手车电商B端市场
  19. 51单片机点亮LED灯以及实现2盏LED灯的交替闪烁
  20. python 爬虫保存封面_Python爬虫Demo--获取网易云音乐专辑封面

热门文章

  1. ceac计算机考试试题,计算机ceac考试复习题12套.doc
  2. 用矩形法求定积分,分别求sin x dx ,cos x dx,e exp x;
  3. 向量个数,向量维数,向量空间维数
  4. 手把手教你开发红外遥控器
  5. 微信js 已经填写JS接口安全域名了,仍然报invalid url domain
  6. nodeJS实现简单网页爬虫功能
  7. Shiro中自定义Realm
  8. 计算机网络-第一章(b站王道考研)
  9. pytorch训练Class-Balanced Loss
  10. GitHub Actions 入门教程