在Android中获取Facebook信息,可以通过使用Facebook的开发者工具和API来实现。以下是一种常见的方法:
implementation 'com.facebook.android:facebook-android-sdk:[版本号]'
<uses-permission android:name="android.permission.INTERNET" />
<application>
<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>
<string name="facebook_app_id">YOUR_FACEBOOK_APP_ID</string>
import com.facebook.AccessToken;
import com.facebook.CallbackManager;
import com.facebook.FacebookCallback;
import com.facebook.FacebookException;
import com.facebook.login.LoginManager;
import com.facebook.login.LoginResult;
import com.facebook.login.widget.LoginButton;
public class MainActivity extends AppCompatActivity {
private CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
callbackManager = CallbackManager.Factory.create();
LoginButton loginButton = findViewById(R.id.login_button);
loginButton.setPermissions("email", "public_profile");
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
AccessToken accessToken = loginResult.getAccessToken();
// 在这里可以使用accessToken获取用户信息或执行其他操作
}
@Override
public void onCancel() {
// 用户取消登录
}
@Override
public void onError(FacebookException error) {
// 登录过程中发生错误
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
}
以上代码中,我们使用了Facebook SDK提供的LoginButton来处理用户登录和授权的逻辑。当用户点击登录按钮并授权成功后,我们可以通过AccessToken获取用户的信息。
领取专属 10元无门槛券
手把手带您无忧上云