更新时间:2022-12-22 12:19:50
毕业:
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
strings.xml
strings.xml
<string name="facebook_app_id">YOUR_APP_ID</string>
AndroidManifest.xml
添加应用程序标签:
AndroidManifest.xml Add inside of 'application' tag:
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />
将此创建为初始化FacebookSDK:
Create this to init FacebookSDK:
public class MainApp extends Application {
@Override
public void onCreate() {
super.onCreate();
FacebookSdk.sdkInitialize(getApplicationContext());
}
}
将其添加到AndroidManifest.xml到应用程序标签作为名称:
Add it to AndroidManifest.xml to 'application' tag as the name:
<application
android:name=".MainApp"
在您的活动布局中,添加Facebook登录按钮:
In your activity layout add Facebook Login Button:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.app.FacebookLoginActivity">
<com.facebook.login.widget.LoginButton
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:layout_marginBottom="30dp" />
</RelativeLayout>
您的FacebookLoginActivity:您可以在这里获得您的Facebook令牌。
Your FacebookLoginActivity: And Here you can get now your Facebook Token.
public class FacebookLoginActivity extends AppCompatActivity{
private CallbackManager callbackManager;
private LoginButton loginButton;
private String FB_TOKEN;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signin);
callbackManager = CallbackManager.Factory.create();
loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.setReadPermissions("public_profile", "user_friends", "email", "user_birthday");
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
/**
* HERE YOU CAN GET YOUR FACEBOOK TOKEN!!!!
**/
FB_TOKEN=loginResult.getAccessToken().getToken();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException exception) {
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
}
如果您需要使用自定义Facebook按钮:
If you need to use Custom Facebook Button:
public class FacebookLoginActivity extends AppCompatActivity{
private CallbackManager callbackManager;
private Button loginButton;
private String FB_TOKEN;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signin);
callbackManager = CallbackManager.Factory.create();
loginButton = (Button) findViewById(R.id.login_button);
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
/**
* HERE YOU CAN GET YOUR FACEBOOK TOKEN!!!!
**/
FB_TOKEN=loginResult.getAccessToken().getToken();
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException exception) {
Log.e("onError", exception.getMessage());
}
});
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LoginManager.getInstance().logInWithReadPermissions(FacebookLoginActivity.this, Arrays.asList("public_profile", "user_friends", "email"));
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
}