Android 集成facebook 登录和分享
来源:互联网 发布:太阳队布克数据 编辑:程序博客网 时间:2024/06/05 05:17
,开场白给大脸书
导入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" /> <activity android: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.LoginButton android: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) @Override public 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>() { @Override public 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() { @Override public void onCompleted(JSONObject object, GraphResponse response) { //object包含了facebook用户的信息,比如id,用户名, //可以绑定处理,也可以其他处理 // } }); } } @Override public void onCancel() { } @Override public void onError(FacebookException exception) { exception.printStackTrace(); } }); //必须调用下面的方法@Overrideprotected 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
阅读全文
1 0
- Android集成Twitter和facebook登录分享
- Android 集成facebook 登录和分享
- Facebook 登录和分享
- facebook登录和分享
- android 集成Facebook 分享功能
- 【IOS和Android】Cocos2d-x 集成Facebook分享功能
- Android Facebook和Twitter登录和分享完整版
- Facebook 登录和分享 分类: Android开发常识
- Android中FaceBook第三方登录集成
- Facebook第三方登录和分享
- Android Facebook和Twitter分享
- Android集成ShareSDK第三方分享和登录
- FaceBook登录集成
- [置顶] Android Facebook和Twitter登录和分享完整版 标签: facebooktwitter 2016-09-07 18:40
- Facebook SDK 登录分享
- 使用Android Studio集成FacebookSDK之Facebook分享功能添加
- Android 应用程序集成FaceBook 登录及二次封装
- Android facebook VK 登录与分享 开源SDK
- AFNetworking 3.0 源码解读(四)之 AFURLResponseSerialization
- arcgis 10.3发布要素服务(FeatureService)
- linux下查看mysql有哪些进程访问
- 项目中 List 查询结果缓存说明
- 目前认为最完美的单例
- Android 集成facebook 登录和分享
- 火狐浏览器 去顶部的bug
- AFNetworking 3.0 源码解读(五)之 AFURLSessionManager
- python基础(二)
- scala中的trait
- SQL 约束 (Constraints)
- iOS远程真机之WebDriverAgent 天坑记
- MAC El Capitan以上版本安装cx_Oracle
- Ext.Ajax.request 中success failure