安装 Facebook 应用程序后 Facebook 插件无法使用
Facebook plugin not works after installing facebook application
场景:使用facebook cordova插件登录。
在安装 facebook 应用程序之前它工作正常。
安装 facebook 应用程序后它抛出“会话已关闭且未正常关闭”
代码:
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*/}
});
回应{"status":"unknown"}
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
我检查了调试并签署了 apk 它显示了同样的问题。
建议一些清单。
谢谢。
我在使用 Ionic cordova 插件 (cordova-plugin-facebook4) 时也遇到了同样的问题。
已通过更换插件工作 Wizcorp/phonegap-facebook-plugin to jeduan/cordova-plugin-facebook4
jeduan/cordova-plugin-facebook4 is a fork of the official plugin for Facebook 在实现最新 Facebook SDK 的 Apache Cordova 中。除非另有说明,否则这是一个直接替换。您不必替换您的客户端代码。
场景:使用facebook cordova插件登录。
在安装 facebook 应用程序之前它工作正常。
安装 facebook 应用程序后它抛出“会话已关闭且未正常关闭”
代码:
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*/}
});
回应{"status":"unknown"}
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
我检查了调试并签署了 apk 它显示了同样的问题。
建议一些清单。
谢谢。
我在使用 Ionic cordova 插件 (cordova-plugin-facebook4) 时也遇到了同样的问题。
已通过更换插件工作 Wizcorp/phonegap-facebook-plugin to jeduan/cordova-plugin-facebook4
jeduan/cordova-plugin-facebook4 is a fork of the official plugin for Facebook 在实现最新 Facebook SDK 的 Apache Cordova 中。除非另有说明,否则这是一个直接替换。您不必替换您的客户端代码。