我正在开发Android应用程序。这里有两个登录选项。我想知道如何实现允许用户使用Facebook登录的功能。这将有两个按钮:一个用于简单登录,另一个用于登录。当用户点击“使用Facebook登录”时,它应首次询问Facebook用户名和密码,有时应自动使用Facebook凭据登录。
答案 0 :(得分:1)
直接在Facebook开发者网站上查看。 https://developers.facebook.com/android/
下载最新的sdk。 注册自己为Facebook开发者 在Android应用中创建应用ID并使用该应用ID。 有关更多详细信息,请参阅facebook集成示例:您可以在sdk管理器中看到示例代码,您可以从devloper站点下载。
答案 1 :(得分:0)
转到以下链接下载facebook sdk,它还包含facebook的样本。
答案 2 :(得分:0)
查看示例
http://www.androidhive.info/2012/03/android-facebook-connect-tutorial/
你需要facebook sdk来访问登录,所以,从下面链接你可以获得sdk
答案 3 :(得分:0)
单击按钮将打开facebook身份验证对话框,然后根据权限返回用户信息,如id,name,email。 (确保你已经在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);
}