Android 实现第三方Facebook登录的具体实现
前言:因为之前做的项目中需要接入Facebook登录,所以为大家带来Facebook的eclipse版本。在这里简单具体说一下接入的过程中的一些问题和注意的事项,希望为大家解决一些遇到的问题和坑、坑、坑、坑、、、、、
首先,废话不多说,先上效果图:
首先去Facebook官网上下载最新的SDK:
- 我这里使用facebook 3.0版本的SDK实现的(个人觉得3.0的就已经ok了,没必要用最新的):
facebook 3.0 SDK下载链接:
http://download.csdn.net/download/qq_35840038/10105916 - 如果你安装了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登录的具体实现相关推荐
- Android接入第三方QQ登录
Android接入第三方QQ登录 前言 开始接入 1. 添加依赖 2.AndroidManifest.xml配置 3.初始化SDK 4.创建实例 5.实现回调 6. 调用QQ登录接口 7.获取用户信息 ...
- 解决Android接入第三方QQ登录闪退
解决Android接入第三方QQ登录闪退 1.问题 按照官方文档接入QQ登录后,模拟器上运行正常,在真机小米8(Android Q)上面的时候闪退: 报错如下: Java.lang.NoClassDe ...
- android qq第三方登录,Android调用第三方QQ登录代码分享
本文为大家分享了调用QQ登录的相关代码,希望对大家有帮助,减少项目开发的时间,具体内容如下 1.去QQ开放平台注册帐号(http://open.qq.com/),为应用申请QQ的APP_ID , 并下 ...
- Android平台接入Facebook登录
官方教程地址: https://developers.facebook.com/docs/android/getting-started 开发环境为Android Studio,官方要求SDK最低版本 ...
- WebView Attack In Android : 解析第三方账号登录平台所存在的安全隐患
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17663345 前言 这是一个很有趣的话题,WebView在Android中包 ...
- Android 微信第三方绑定登录详解
赢第三方微信登录跟微信支付差别不是很大,下面一一为大家分享一下,欢迎吐槽指正. 接入微信的支付要第一步添加微信支付官方的包libammsdk.jar 一.配置文件Androidmanifest < ...
- Android集成第三方微信登录
第一步: 在微信开放平台创建安卓应用,需要输入的包名和签名就不用再提吧,不知道的自行百度. 应用创建完毕后会得到两个值:AppID.AppSecret,用这两个值来请求微信. 然后去微信开放平台的 ...
- 手把手教你Android集成第三方微信登录
最近公司要求集成第三方的微信登录功能,以前没做过,现在做完梳理下思路. 1.首先要在微信开放平台注册你的APP.获取APP的id和APPSecret. 2.然后要集成微信的sdk jar包 3.创建一 ...
- Android——第三方Facebook授权登录获取用户信息
由于项目中需要使用Facebook进行一键登录,所以记录下步骤,其实小伙伴直接看官网也可以,介绍的蛮详细的,先看下效果图吧. 遵循以下步骤将Facebook登录添加到您的应用. Facebook开发者 ...
最新文章
- Laravel7使用Auth进行用户认证
- ctypes python_对于python初学者,如何使用python定义联合(使用ctypes)
- 小程序获取设备信息以及实现短信验证码登录
- dede使用方法----调用导航
- 建立 CLR Stored Procedure/Function 的小範例
- ajax应用培训ppt,《ajax培训课件.ppt
- lwip协议栈实现服务器端主动发送,API函数及编程实例《LwIP协议栈源码详解—TCP/IP协议的实现》...
- 我算了下教育金的收益率及经验汇总
- flash动画入门篇
- 如何恢复磁盘中被删除的数据
- 为什么要使用PPTP协议代理ip?
- 文曲星猜数字用c语言编程,文曲星中的猜数字游戏,要猜一个四位数,有什么通用公式?...
- SHA-512 逻辑
- plsql/developer12如何放大字体
- 工作之余如何有效学习提升
- 浅析Linux下的子系统
- 猫眼电影字体反爬-自动处理字体加密
- 计算机专业的研究生专业方向
- 计算机每年有多少博士毕业,中国每年有多少博士毕业生,博士过剩了吗?
- MXC抹茶与Simplex合作,支持VISA、万事达卡直接买币
热门文章
- 带你走出误区 戳穿Windows XP的经典谣言
- 计算机毕设(附源码)JAVA-SSM健身房管理系统设计
- 心情:7.14 项目结束感悟
- Spring Boot 框架学习笔记(二)(配置文件与数据注入 yaml基本语法 JSR303数据验证 多环境切换 )
- Windows停止端口运行的进程
- 矩阵的佛罗贝尼乌斯范数(Frobenius norm)
- win10共享打印错误0x0000006_win7打印机共享错误0x000006,连接成功,打印测试报错...
- R语言机器学习mlr3:技术细节
- linux下ds3231应用程序,DS3231.h和DS3231.C单片机mcu时钟芯片驱动下载
- [python] 基于wordcloud库绘制词云图