Похоже, что LoginManager из FacebookSDK содержит метод только с параметром android.support.v4.app.Fragment и ни с помощью android.app.Fragment. К сожалению, v4.app.Fragment не вариант для меня. Я пробовал делать то же самое в Activity и в файле v4.app.Fragment, и он работает. Однако я не могу использовать ни один из них.Как я могу использовать класс LoginManager из FacebookSDK внутри фрагмента?
private void init() {
callbackManager = CallbackManager.Factory.create();
loginManager = LoginManager.getInstance();
loginManager.registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
onLoginSuccess(loginResult);
}
@Override
public void onCancel() {
onLogInFailed();
}
@Override
public void onError(FacebookException e) {
onLogInFailed();
}
});
}
private void logIn() {
Global.log("logging in to facebook");
Collection<String> permissions = Arrays.asList("public_profile", "email");
loginManager.logInWithReadPermissions(getActivity(), permissions);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
Метод в вопросе loginManager.logInWithReadPermissions, который может принимать либо деятельности или v4.app.Fragment в качестве параметра, но не тип фрагмента мне нужно.
Может ли кто-нибудь помочь?
Что именно вы пытаетесь достичь? LoginManager.getInstance(). LogInWithReadPermission() принимает параметры Activity или Fragment. Неважно, whater это v4.app.Fragment или app.Fragment. – slorangex
Я попытался дать простой фрагмент в качестве параметра, но я не могу. Я посмотрел на реализацию метода, и он принимает только v4.app.Fragment. Класс LoginManager не упоминает простой класс фрагментов где-либо – kimv
SDK поддерживает только файл v4.app.Fragment, поскольку мы поддерживаем его обратно в Gingerbread (и android.app.Fragment не был введен до Honeycomb). Вам нужно либо просто использовать v4.app.Fragment, либо fork, и изменить SDK и заменить все экземпляры v4.app.Fragment на android.app.Fragment. –