前言:因为之前做的项目中需要接入Facebook登录,所以为大家带来Facebook的eclipse版本。在这里简单具体说一下接入的过程中的一些问题和注意的事项,希望为大家解决一些遇到的问题和坑、坑、坑、坑、、、、、

首先,废话不多说,先上效果图:

首先去Facebook官网上下载最新的SDK:

  1. 我这里使用facebook 3.0版本的SDK实现的(个人觉得3.0的就已经ok了,没必要用最新的):
    facebook 3.0 SDK下载链接:
    http://download.csdn.net/download/qq_35840038/10105916
  2. 如果你安装了facebook的话,运行之后会直接打开facebook,如果没有安装,会打开web版的facebook的登录页面,下来就贴代码了:
  FacebookSdk.sdkInitialize(getApplicationContext());callbackManager = CallbackManager.Factory.create();LoginManager.getInstance().registerCallback(callbackManager,new FacebookCallback<LoginResult>() {@SuppressWarnings("deprecation")@Overridepublic void onCancel() {// TODO Auto-generated method stubSystem.out.println("onCancel-------------");CookieSyncManager.createInstance(MainActivity.this);CookieManager cookieManager = CookieManager.getInstance();cookieManager.removeAllCookie();CookieSyncManager.getInstance().sync();}@Overridepublic void onError(FacebookException arg0) {// TODO Auto-generated method stubSystem.out.println("FacebookException-------------");}@Overridepublic void onSuccess(LoginResult arg0) {// TODO Auto-generated method stubSystem.out.println("LoginResult!!!!!!!!!!-------------"+ "登录成功");}});LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("public_profile"));}

所有的代码就是这些;下来分析一下具体的代码意思:

1.第一块就是初始化了,看注释就很明白了,初始化并创建回调器:

@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//初始化Facebook的SDKFacebookSdk.sdkInitialize(getApplicationContext());//创建回调管理器,以便处理登录响应callbackManager = CallbackManager.Factory.create();    }
 当然,这个也可以根据实际情况来初始化,看个人情况哦!

2.第二块在初始化之后就该进入正题了,调用接口来登录了:

LoginManager.getInstance().registerCallback(callbackManager,new FacebookCallback<LoginResult>() {@SuppressWarnings("deprecation")@Overridepublic void onCancel() {// TODO Auto-generated method stubSystem.out.println("onCancel-------------");CookieSyncManager.createInstance(MainActivity.this);CookieManager cookieManager = CookieManager.getInstance();cookieManager.removeAllCookie();CookieSyncManager.getInstance().sync();}@Overridepublic void onError(FacebookException arg0) {// TODO Auto-generated method stubSystem.out.println("FacebookException-------------");}@Overridepublic void onSuccess(LoginResult arg0) {// TODO Auto-generated method stubSystem.out.println("LoginResult!!!!!!!!!!-------------"+ "登录成功");}});
这个就是为登录在这里注册一个回调,当登录之后就会回调到这里!!

3.作为执行实际登录,例如在自定义按钮的 OnClickListener 中:

LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("public_profile"));
这行代码是我们的自定义登录按钮需要执行的。

4.获取登录后的数据:

@Overrideprotected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {super.onActivityResult(requestCode, resultCode, data);callbackManager.onActivityResult(requestCode, resultCode, data);}
这里就是在登录成功后,将登录成功的将结果传递至 CallbackManager

5.配置文件:

因为是联网的,所以不能少了网络权限:
<uses-permission android:name="android.permission.INTERNET" />
还有Facebook的官方界面activity:
<activityandroid:name="com.facebook.FacebookActivity"android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"android:label="@string/app_name"android:theme="@android:style/Theme.Translucent.NoTitleBar" /><meta-dataandroid:name="com.facebook.sdk.ApplicationId"android:value="@string/facebook_app_id" />
注意:这里的facebook_ID是需要去Facebook开发者后台获取。

到这里,整个Facebook的登录就已经接入完成了。整个过程很简单,也很明白,希望为大家提供一些帮助,如果有疑问,大家可以留言,我会尽力解决大家的困扰。

顺便附上做好的demo:
http://download.csdn.net/download/qq_35840038/10106010

demo的完整代码:
http://download.csdn.net/download/qq_35840038/10106023

希望大家多多支持,另外再祝愿大家在接入过程中不遇到bug;

Android 实现第三方Facebook登录的具体实现相关推荐

  1. Android接入第三方QQ登录

    Android接入第三方QQ登录 前言 开始接入 1. 添加依赖 2.AndroidManifest.xml配置 3.初始化SDK 4.创建实例 5.实现回调 6. 调用QQ登录接口 7.获取用户信息 ...

  2. 解决Android接入第三方QQ登录闪退

    解决Android接入第三方QQ登录闪退 1.问题 按照官方文档接入QQ登录后,模拟器上运行正常,在真机小米8(Android Q)上面的时候闪退: 报错如下: Java.lang.NoClassDe ...

  3. android qq第三方登录,Android调用第三方QQ登录代码分享

    本文为大家分享了调用QQ登录的相关代码,希望对大家有帮助,减少项目开发的时间,具体内容如下 1.去QQ开放平台注册帐号(http://open.qq.com/),为应用申请QQ的APP_ID , 并下 ...

  4. Android平台接入Facebook登录

    官方教程地址: https://developers.facebook.com/docs/android/getting-started 开发环境为Android Studio,官方要求SDK最低版本 ...

  5. WebView Attack In Android : 解析第三方账号登录平台所存在的安全隐患

    转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17663345 前言 这是一个很有趣的话题,WebView在Android中包 ...

  6. Android 微信第三方绑定登录详解

    赢第三方微信登录跟微信支付差别不是很大,下面一一为大家分享一下,欢迎吐槽指正. 接入微信的支付要第一步添加微信支付官方的包libammsdk.jar 一.配置文件Androidmanifest < ...

  7. Android集成第三方微信登录

    第一步: 在微信开放平台创建安卓应用,需要输入的包名和签名就不用再提吧,不知道的自行百度.  应用创建完毕后会得到两个值:AppID.AppSecret,用这两个值来请求微信.  然后去微信开放平台的 ...

  8. 手把手教你Android集成第三方微信登录

    最近公司要求集成第三方的微信登录功能,以前没做过,现在做完梳理下思路. 1.首先要在微信开放平台注册你的APP.获取APP的id和APPSecret. 2.然后要集成微信的sdk jar包 3.创建一 ...

  9. Android——第三方Facebook授权登录获取用户信息

    由于项目中需要使用Facebook进行一键登录,所以记录下步骤,其实小伙伴直接看官网也可以,介绍的蛮详细的,先看下效果图吧. 遵循以下步骤将Facebook登录添加到您的应用. Facebook开发者 ...

最新文章

  1. Laravel7使用Auth进行用户认证
  2. ctypes python_对于python初学者,如何使用python定义联合(使用ctypes)
  3. 小程序获取设备信息以及实现短信验证码登录
  4. dede使用方法----调用导航
  5. 建立 CLR Stored Procedure/Function 的小範例
  6. ajax应用培训ppt,《ajax培训课件.ppt
  7. lwip协议栈实现服务器端主动发送,API函数及编程实例《LwIP协议栈源码详解—TCP/IP协议的实现》...
  8. 我算了下教育金的收益率及经验汇总
  9. flash动画入门篇
  10. 如何恢复磁盘中被删除的数据
  11. 为什么要使用PPTP协议代理ip?
  12. 文曲星猜数字用c语言编程,文曲星中的猜数字游戏,要猜一个四位数,有什么通用公式?...
  13. SHA-512 逻辑
  14. plsql/developer12如何放大字体
  15. 工作之余如何有效学习提升
  16. 浅析Linux下的子系统
  17. 猫眼电影字体反爬-自动处理字体加密
  18. 计算机专业的研究生专业方向
  19. 计算机每年有多少博士毕业,中国每年有多少博士毕业生,博士过剩了吗?
  20. MXC抹茶与Simplex合作,支持VISA、万事达卡直接买币

热门文章

  1. 带你走出误区 戳穿Windows XP的经典谣言
  2. 计算机毕设(附源码)JAVA-SSM健身房管理系统设计
  3. 心情:7.14 项目结束感悟
  4. Spring Boot 框架学习笔记(二)(配置文件与数据注入 yaml基本语法 JSR303数据验证 多环境切换 )
  5. Windows停止端口运行的进程
  6. 矩阵的佛罗贝尼乌斯范数(Frobenius norm)
  7. win10共享打印错误0x0000006_win7打印机共享错误0x000006,连接成功,打印测试报错...
  8. R语言机器学习mlr3:技术细节
  9. linux下ds3231应用程序,DS3231.h和DS3231.C单片机mcu时钟芯片驱动下载
  10. [python] 基于wordcloud库绘制词云图