注册facebook开发者 创建应用
https://developers.facebook.com
facebook包
allprojects {
repositories {
mavenCentral()
}
}
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
应用id
<string name="facebook_app_id">668420006677815</string>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
代码
public class MainActivity extends AppCompatActivity {
CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Test().test();
FacebookSdk.sdkInitialize(getApplicationContext());
but1();
}
@Override
protected void onResume() {
super.onResume();
// Logs 'install' and 'app activate' App Events.
AppEventsLogger.activateApp(this);
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
System.out.println("---授权成功---" + loginResult.getAccessToken().getToken().toString());
getuser();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
});
}
@Override
protected void onPause() {
super.onPause();
// Logs 'app deactivate' App Event.
AppEventsLogger.deactivateApp(this);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
/**
* 登录授权
*/
private void but1() {
findViewById(R.id.button3).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LoginManager.getInstance().logOut();
LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("public_profile", "user_friends"));
}
});
}
/**
* 获取用户信息
*/
private void getuser(){
ProfileTracker profileTracker = new ProfileTracker() {
@Override
protected void onCurrentProfileChanged( Profile oldProfile,Profile profile) {
// App code
Log.d("log", (profile.toString() + "\n" + "成功以后的获取ID---->:" +
profile.getId() + "\n" + "成功后的获取信息:" +
profile.getLastName() + profile.getFirstName()));
}
};
}
}