写了facebook VK的登录与分享 SDK ,可以直接调用实现登录 分享如果你还使用 Eclipse 并且需要帮助接入可以加我QQ 495821973
文档地址与下载地址
http://blog.csdn.net/jin290/article/details/71224878
1 、Eclipse 项目接入 Facebook 第三方登录
首先引用facebook
2、 清单文件 添加权限 声明 ,Appid 在Strings 里定义
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- facebook -->
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
3 、 setContentView();前面 初始化facebook 以及回调
private CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@SuppressWarnings("deprecation")
@Override
public void onCancel() {
// TODO Auto-generated method stub
System.out.println("onCancel-------------");
CookieSyncManager.createInstance(MainActivity.this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookie();
CookieSyncManager.getInstance().sync();
}
@Override
public void onError(FacebookException arg0) {
// TODO Auto-generated method stub
System.out.println("FacebookException-------------");
}
@Override
public void onSuccess(LoginResult arg0) {
// TODO Auto-generated method stub
System.out.println("LoginResult!!!!!!!!!!-------------");
updateUI();
}
});
setContentView(R.layout.activity_main);
}
}
4、 添加callbackManager.onActivityResult 和获取数据方法
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
private void updateUI() {
boolean enableButtons = AccessToken.getCurrentAccessToken() != null;
Profile profile = Profile.getCurrentProfile();
if (enableButtons && profile != null) {
String userid = profile.getId();
String Token = AccessToken.getCurrentAccessToken().getToken();
String sname = profile.getName();
String simage = profile.getProfilePictureUri(100, 100).toString();
System.out.println("getToken------------------" + AccessToken.getCurrentAccessToken().getToken());
System.out.println("getUserId------------------" + AccessToken.getCurrentAccessToken().getUserId());
System.out.println("getFirstName------------------" + profile.getFirstName());
System.out.println("getId------------------" + profile.getId());
System.out.println("getLastName------------------" + profile.getLastName());
System.out.println("getMiddleName------------------" + profile.getMiddleName());
System.out.println("getName------------------" + profile.getName());
System.out.println("getProfilePictureUri(50, 50)------------------" + profile.getProfilePictureUri(50, 50));
System.out.println("getCurrentProfile------------------" + profile.getCurrentProfile().toString());
} else {
}
}
5、 点击事件里 调用登录方法
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
/****
* FaceBook 自定义按钮登录
*
*/
LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("public_profile", "user_friends"));
}
});