Facebook Activity not loading correctly in facebook-sdk 4.4.0

后端 未结 1 1263
旧时难觅i
旧时难觅i 2020-12-21 00:33

I want to integrate Facebook signin in my android app. I am using Facebook-sdk-4.4.0. Using the LoginManager class method. But I am facing problem on running the following c

相关标签:
1条回答
  • 2020-12-21 01:16

    Try this one

    LoginButton loginButton;
    CallbackManager callbackManager;
    
    FacebookSdk.sdkInitialize(getApplicationContext());
    callbackManager = CallbackManager.Factory.create();
    
    loginButton = (LoginButton) findViewById(R.id.login_button);
        loginButton.setReadPermissions(Arrays.asList("public_profile", "user_friends", "email"));
    
        loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {
    
                Profile profile = Profile.getCurrentProfile();
                profile.getProfilePictureUri(315, 315);
                GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(),
                        new GraphRequest.GraphJSONObjectCallback() {
                            @Override
                            public void onCompleted(JSONObject object, GraphResponse response) {
                                Log.v("LoginActivity", response.toString());
                            }
                        });
                Bundle parameters = new Bundle();
                parameters.putString("fields", "id,name,email");
                request.setParameters(parameters);
                request.executeAsync();
            }
    
            @Override
            public void onCancel() {
            }
    
            @Override
            public void onError(FacebookException e) {
                e.printStackTrace();
            }
        });
    

    and override below method

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        callbackManager.onActivityResult(requestCode, resultCode, data);         
    }
    

    and define this in menifest

    <activity
            android:name="com.facebook.FacebookActivity"            android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
    
    0 讨论(0)
提交回复
热议问题