Facebook plugin not works after installing faceboo

2019-06-04 02:55发布

问题:

Scenario: Using facebook cordova plugin for login.

Before installing facebook application it works fine.

After installing facebook application it throws "Session was closed and was not closed normally"

code:

 facebookConnectPlugin.login(["email", "public_profile","user_friends" ],
            function(response) {
                var accessToken = response.authResponse.accessToken;
                var fbName = "";
                var fbID = "";
                var fbProfilePicUrl = "";
            if (response.authResponse) {
                facebookConnectPlugin.api('/me',null,
                function(response) {
                /*store succes details in variables*/
                fbID = response.id;
                fbName = response.name;
                /*Get facebook picture url*/
                facebookConnectPlugin.api('me/picture?redirect=false&type=large',null,
                function(response) {
                    var data = response.data;
                    fbProfilePicUrl = data.url;
                    /*call fb sign up method here*/
                },
                function(error) {});
                });
            }
            else{/*do for authenticate fb login error*/}
            });

Response {"status":"unknown"}

As per documentation

FB.getLoginStatus() allows you to determine if a user is logged in to Facebook and has authenticated your app. There are three possible states for a user:

the user is logged into Facebook and has authenticated your application (connected)
the user is logged into Facebook but has not authenticated your application (not_authorized)
the user is either not logged into Facebook or explicitly logged out of your application so it doesn't attempt to connect to Facebook and thus, we don't know if they've authenticated your application or not (unknown)

10-19 18:08:45.601 19479-19479/package I/chromium: [INFO:CONSOLE(26)] "No Content-Security-Policy meta tag found. Please add one when using the cordova-plugin-whitelist plugin.", source: file:///android_asset/www/plugins/cordova-plugin-whitelist/whitelist.js (26)
10-19 18:08:45.651 19479-19479/package D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
10-19 18:08:45.721 19479-20018/package D/ConnectPlugin: login FB
10-19 18:08:45.726 19479-19479/package D/ConnectPlugin: onSessionStateChange:OPENING
10-19 18:08:45.736 19479-20018/package I/Timeline: Timeline: Activity_launch_request id:package time:28785549
10-19 18:08:45.756 19479-20018/package W/PluginManager: THREAD WARNING: exec() call to FacebookConnectPlugin.login blocked the main thread for 35ms. Plugin should use CordovaInterface.getThreadPool().
10-19 18:08:45.776 19479-19479/package D/PhoneWindow: *FMB* installDecor mIsFloating : false
10-19 18:08:45.776 19479-19479/package D/PhoneWindow: *FMB* installDecor flags : 8454400
10-19 18:08:46.016 19479-19479/package D/ViewRootImpl: Buffer Count from app info with  ::-1 && -1 for :: package from View :: -1 DBQ Enabled ::false false
10-19 18:08:46.031 19479-19479/package D/PhoneWindow: *FMB* isFloatingMenuEnabled mFloatingMenuBtn : null
10-19 18:08:46.031 19479-19479/package D/PhoneWindow: *FMB* isFloatingMenuEnabled return false
10-19 18:08:46.071 19479-19856/package D/mali_winsys: new_window_surface returns 0x3000,  [540x960]-format:1
10-19 18:08:46.086 19479-19479/package I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@aceb5fe time:28785898
10-19 18:08:46.106 19479-19479/package V/ActivityThread: updateVisibility : ActivityRecord{1a4f5fca token=android.os.BinderProxy@26b1fe99 {package/package.MainActivity}} show : true
10-19 18:08:46.881 19479-19479/package I/Timeline: Timeline: Activity_launch_request id:com.facebook.katana time:28786693
10-19 18:08:46.921 19479-19479/package V/ActivityThread: updateVisibility : ActivityRecord{1a4f5fca token=android.os.BinderProxy@26b1fe99 {package/package.MainActivity}} show : false
10-19 18:08:47.451 19479-19479/package V/ActivityThread: updateVisibility : ActivityRecord{25c340a token=android.os.BinderProxy@aceb5fe {package/com.facebook.LoginActivity}} show : false
10-19 18:08:49.241 19479-19479/package V/ActivityThread: updateVisibility : ActivityRecord{1a4f5fca token=android.os.BinderProxy@26b1fe99 {package/package.MainActivity}} show : true
10-19 18:08:49.261 19479-19856/package D/mali_winsys: new_window_surface returns 0x3000,  [540x960]-format:1
10-19 18:08:49.291 19479-19479/package D/CordovaInterfaceImpl: Sending activity result to plugin
10-19 18:08:49.291 19479-19479/package D/ConnectPlugin: activity result in plugin: requestCode(64206), resultCode(-1)
10-19 18:08:49.306 19479-19479/package D/ConnectPlugin: onSessionStateChange:CLOSED_LOGIN_FAILED
10-19 18:08:49.306 19479-19479/package E/ConnectPlugin: com.facebook.FacebookAuthorizationException: Session was closed and was not closed normally

I checked with debug and signed apk it shows same issue.

suggest some checklist.

thank you.

回答1:

I am also getting same issue with Ionic cordova plugin(cordova-plugin-facebook4).



回答2:

Got worked by replacing plugin Wizcorp/phonegap-facebook-plugin to jeduan/cordova-plugin-facebook4

jeduan/cordova-plugin-facebook4 is a fork of the official plugin for Facebook in Apache Cordova that implements the latest Facebook SDK. Unless noted, this is a drop-in replacement. You don't have to replace your client code.