Android 当用户使用手机号码登录时,如何从Facebook API获取电子邮件?

Android 当用户使用手机号码登录时,如何从Facebook API获取电子邮件?,android,facebook-graph-api,Android,Facebook Graph Api,Iam使用facebook登录android应用程序。我正在使用Facebook API获取电子邮件和其他详细信息。我有以下问题: 1) 当用户使用手机号码登录时,如何从Facebook API获取电子邮件 2) 我们如何知道用户在android的Facebook登录API中使用手机号码或电子邮件登录 请指导。如果用户使用手机登录,您将不会收到电子邮件。您可以在登录后立即显示一个输入字段并向用户索要其电子邮件。您可以通过以下方式获取用户在facebook中使用的用户电子邮件id:- loginB

Iam使用facebook登录android应用程序。我正在使用Facebook API获取电子邮件和其他详细信息。我有以下问题:

1) 当用户使用手机号码登录时,如何从Facebook API获取电子邮件

2) 我们如何知道用户在android的Facebook登录API中使用手机号码或电子邮件登录


请指导。

如果用户使用手机登录,您将不会收到电子邮件。您可以在登录后立即显示一个输入字段并向用户索要其电子邮件。

您可以通过以下方式获取用户在facebook中使用的用户电子邮件id:-

loginButton.setReadPermissions("email");

loginButton.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) {
                            Log.v("LoginActivity", response.toString());

                            // Application code
                            String email = object.getString("email");

                        }
                    });
loginButton.setReadPermissions(“电子邮件”);
registerCallback(callbackManager,newfacebookcallback()){
@凌驾
成功时公共无效(LoginResult LoginResult){
//应用程序代码
GraphRequest请求=GraphRequest.newmereRequest(
loginResult.getAccessToken(),
新建GraphRequest.GraphJSONObjectCallback(){
@凌驾
未完成公共无效(JSONObject对象,GraphResponse响应){
Log.v(“LoginActivity”,response.toString());
//应用程序代码
String email=object.getString(“email”);
}
});
您可以通过以下方式重定向到其他活动:-

private FacebookCallback<LoginResult> callback = new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            //call your activity here
        }

        @Override
        public void onCancel() {

        }

        @Override
        public void onError(FacebookException e) {
            Log.d("Exception",e.getMessage());

        }
    };
private facebook callback callback=new facebook callback(){
@凌驾
成功时公共无效(LoginResult LoginResult){
//在这里调用您的活动
}
@凌驾
公开作废{
}
@凌驾
公共无效onError(FaceBook例外e){
Log.d(“异常”,例如getMessage());
}
};

Thanx.我如何将其重定向到该输入字段?登录后立即执行即可。对于android开发人员来说,这应该不会有问题。我已经完成了此操作,并且还获得了电子邮件id?从这里我如何重定向到我的活动?如果用户使用手机号码登录,那么我们将无法获得电子邮件id na?那么如何为其添加输入字段?您可以调用FacebookCallback OnSuccess方法中的其他活动用户使用手机号登录时是否尝试获取电子邮件id?我们无法检查用户是否使用电子邮件或手机号登录。唯一可能的方法是在用户登录后获取电子邮件