Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
没有从android上的Facebook API获取任何个人资料信息_Android_Facebook_Android Fragments_Textview - Fatal编程技术网

没有从android上的Facebook API获取任何个人资料信息

没有从android上的Facebook API获取任何个人资料信息,android,facebook,android-fragments,textview,Android,Facebook,Android Fragments,Textview,我正在努力学习android的Facebook API。我尝试登录,它正在记录。但我无法从用户配置文件中获取任何信息。它不会在textview中返回任何显示登录Facebook用户姓名的内容 public class ProfileScreenFragment extends Fragment { private TextView mTextView; private AccessTokenTracker mTokenTracker; private ProfileT

我正在努力学习android的Facebook API。我尝试登录,它正在记录。但我无法从用户配置文件中获取任何信息。它不会在textview中返回任何显示登录Facebook用户姓名的内容

public class ProfileScreenFragment extends Fragment {

    private TextView mTextView;

    private AccessTokenTracker mTokenTracker;
    private ProfileTracker mProfileTracker;

    private CallbackManager mCallbackManager;
    private FacebookCallback<LoginResult> mCallback=new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            AccessToken accessToken=loginResult.getAccessToken();
            Profile profile=Profile.getCurrentProfile();
            displayWelcomeMessage(profile);
        }

        @Override
        public void onCancel() {

        }

        @Override
        public void onError(FacebookException error) {

        }
    };

    public ProfileScreenFragment() {
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        FacebookSdk.sdkInitialize(getActivity().getApplicationContext());

        mCallbackManager=CallbackManager.Factory.create();

        mTokenTracker = new AccessTokenTracker() {
            @Override
            protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken currentAccessToken) {

            }
        };

        mProfileTracker=new ProfileTracker() {
            @Override
            protected void onCurrentProfileChanged(Profile oldProfile, Profile currentProfile) {

            }
        };
        mTokenTracker.startTracking();
        mProfileTracker.startTracking();


    }
    public void displayWelcomeMessage(Profile profile){
        if(profile!=null){
            mTextView.setText("Welcome "+profile.getName());
        }
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_profile_screen, container, false);
    }

    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        LoginButton loginButton=(LoginButton)view.findViewById(R.id.login_button);

        loginButton.setReadPermissions("public_profile");

        loginButton.setFragment(this);

        loginButton.registerCallback(mCallbackManager,mCallback);
    }

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

    @Override
    public void onResume() {
        super.onResume();
        Profile profile = Profile.getCurrentProfile();
        displayWelcomeMessage(profile);
    }

    @Override
    public void onStop() {
        super.onStop();
        mTokenTracker.stopTracking();
        mProfileTracker.stopTracking();
    }
}

如何在displayWelcomeMessage()函数中使用textview获取配置文件名?谢谢。

尝试将权限更改为数组列表,如下所示:

loginButton.setReadPermissions(Arrays.asList("public_profile"));

请参阅以了解更多信息。

尝试将权限更改为数组列表,如下所示:

loginButton.setReadPermissions(Arrays.asList("public_profile"));
查看了解更多信息。

请参阅