简体   繁体   中英

Android Facebook SDK 4 login without Facebook app doesn't work

My app uses Facebook SDK 4.8.1 and has issues with login when there is no Facebook App on a phone (everything works fine when the fb app is installed).
The situation is:
- logInWithReadPermissions() is called
- the activity is stopped (should be?)
- login form is displayed
- you log in, agrees with permissions
- view is gone, the app is closed, onActivityResult() is never called.

I don't know if it is relevant, but I get this warning:

 W/ActivityManager: Activity pause timeout for ActivityRecord{3de9bff8 u0 app.app.app/.activities.FbLoginActivity t18}

I've read Android Facebook SDK 4.0 Login without Facebook App and Can't get location and email using Facebook API , tried examples... still the same.

public class FbLoginActivity extends BaseActivity {

CallbackManager callbackManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    FacebookSdk.sdkInitialize(getApplicationContext());

    setContentView(R.layout.activity_fb_login);

    callbackManager = CallbackManager.Factory.create();


    LoginManager.getInstance().registerCallback(callbackManager,
            new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {

                  Log.i("fb","success");

                }

                @Override
                public void onCancel() {
                    Log.i("fb","cancelled");
                }

                @Override
                public void onError(FacebookException exception) {
                    Log.i("fb","stopped");
                }
            });


    LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "user_friends"));
}

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

尝试将FB登录活动设为应用清单文件中的启动器活动

The problem was in the manifest file:

<activity
    android:noHistory="true"
    android:screenOrientation="portrait"
    android:name=".activities.FbLoginActivity">
</activity>

Removing android:noHistory="true" resolved the issue.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM