android - Android kitkat 4.4 的 React-Native Facebook 社交登录行为问题
问题描述
我已经集成了 facebook 登录,它在kitkat以上的所有版本上都可以正常工作。在kitkat中有一个奇怪的行为,当点击 Facebook 登录按钮时,它会在加载时将应用程序带到后台。
我用于登录的代码:
const doFacebookLogin = async dispatch => {
const { type, token } = await LoginManager.logInWithReadPermissions(["public_profile", "email", "pages_show_list"])
.then(
(result) => {
if (result.isCancelled) {
return dispatch({ type: FACEBOOK_LOGIN_CANCEL });
} else {
AccessToken.getCurrentAccessToken()
.then(async (data) => {
await setValue('fb_token', data.accessToken);
let facebookApiData = await initUser(data.accessToken);
await setValue('facebook_data', JSON.stringify(facebookApiData));
dispatch({ type: FACEBOOK_LOGIN_PROCRESSING});
// let response = await api.post('api/account/AddUser',JSON.parse('{"BrowserName":"MobileApp","BrowserVersion":"46", "Email":"'+ facebookApiData.email +'","FacebookID":"'+facebookApiData.id+'","FirstName":"'+facebookApiData.first_name+'","MiddleName":"'+facebookApiData.middle_name+'", "FullName": "'+facebookApiData.name+'", "Gender":"'+facebookApiData.gender+'","LastName":"'+facebookApiData.last_name+'", "ProfileLink":"'+facebookApiData.link+'","image":"'+facebookApiData.picture.data.url+'","Location":null}}'));
// await setValue('LoginId', response.LoginId);
return dispatch({ type: FACEBOOK_LOGIN_SUCCESS, payload: data.accessToken });
});
}
},
(error) => {
Alert.alert('Sign in error', error);
},
);
if (type === "cancel") {
return dispatch({ type: FACEBOOK_LOGIN_FAIL });
}
await setValue("fb_token", token);
return dispatch({ type: FACEBOOK_LOGIN_SUCCESS, payload: token });
};
附上截图
我正在使用的依赖项
"dependencies": {
"react": "16.4.0",
"react-native": "0.55.4",
"react-native-fbsdk": "^0.7"
},
解决方案
推荐阅读
- axios - Axios's response, what's in it??.....const response = await axios
- testing - wiremock to mock public backend response
- mysql - MySQL:查找总价既不是最高也不是最低的产品类别?
- java - Version issue in custom jar
- kubernetes - k8s - ReplicaSet matchLabel 选择器的意义
- c++ - Large binary read in windows 10 is faster when run as admin
- python - 在 Python 中安装 -D /dev/null path_file 功能
- r - R:根据前一行合并连续行
- http - 如何停止http重定向到https
- mysql - Cosmos DB:更快的搜索选项