在应用程序中使用Facebook登录包时,即使我点击屏幕上的其他位置而不是ID字段,该应用程序也会导航到另一页。 谷歌登录中也存在此问题。 下面是按下登录按钮时调用的功能。
loginfb() async {
try {
final result = await Internetaddress.lookup('google.com');
if (result.isnotEmpty && result[0].rawAddress.isnotEmpty) {
print('connected');
signInWithFacebook().whenComplete(() {
createOdooContact();
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) {
return Progresspage();
},),);
});
}
} on SocketException catch (_) {
print('Not Connected');
displayCancelDialog();
}
}
下面是Facebook登录功能
//* Login the app using Facebook credentials
Future<String> signInWithFacebook() async {
var facebookLoginResult =
await facebookLogin.logInWithReadPermissions(['email']);
var accessToken = facebookLoginResult.accessToken;
if (facebookLoginResult.status == FacebookLoginStatus.loggedIn) {
displayProf();
final AuthCredential credential = FacebookAuthProvider.getcredential(
accessToken: accessToken.token,);
final AuthResult authResult =
(await _auth.signInWithCredential(credential));
final FirebaseUser user = authResult.user;
assert(user.email != null);
assert(user.displayName != null);
assert(!user.isAnonymous);
assert(await user.getIdToken() != null);
assert(!user.isAnonymous);
assert(await user.getIdToken() != null);
if (name.contains(" ")) {
name = name.substring(0,name.indexOf(" "));
}
final FirebaseUser currentUser = await _auth.currentUser();
assert(user.uid == currentUser.uid);
return 'signInWithFacebook succeeded: $user';
}
}