我正在开发一个 Android 应用程序。这里有两个登录选项。我想知道如何实现允许用户使用 Facebook 登录的功能。将有两个按钮:一个用于简单登录,另一个用于使用 Facebook 登录。当用户点击“用 Facebook 登录”时,它应该第一次询问 Facebook 用户名和密码,其他时候它应该自动使用 Facebook 凭据登录。
问问题
1602 次
4 回答
1
直接在 facebook 开发者网站上查看。 https://developers.facebook.com/android/
下载最新的sdk。将自己注册为 facebook 开发人员创建应用 ID 并在您的 android 应用中使用该应用 ID。有关更多详细信息,请参阅 facebook 集成示例:您可以在 sdk manager 中查看示例代码,您可以从 devloper 站点下载该示例代码。
于 2013-08-09T09:44:19.223 回答
0
转到以下链接下载 facebook sdk,它还包含 facebook 的示例。
于 2013-08-09T08:50:31.427 回答
0
查看示例
http://www.androidhive.info/2012/03/android-facebook-connect-tutorial/
并且您需要 facebook sdk 才能访问登录,因此,您可以从下面的链接获取 sdk
于 2013-08-09T09:15:22.403 回答
0
当您单击按钮时,将打开 facebook 身份验证对话框,然后根据许可返回用户信息,例如 ID、姓名、电子邮件。(确保您已经在 android studio 中设置了库,并在 string.xml 中添加了 facebook id)。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
login=(Button)findViewById(R.id.login);
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
// App code
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
// Application code
Toast.makeText(LoginActivity.this,object.toString(),Toast.LENGTH_SHORT
).show();
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email");
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
// App code
}
@Override
public void onError(FacebookException exception) {
// App code
Toast.makeText(LoginActivity.this,exception.getMessage().toString(),Toast.LENGTH_SHORT
).show();
}
});
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LoginManager.getInstance().logInWithReadPermissions(LoginActivity.this, Arrays.asList("public_profile", "user_friends","email"));
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
于 2016-10-18T13:47:17.563 回答