我正在尝试通过使用一些本机代码为Flutter创建一个Facebook身份验证插件。我的代码在一个完全本地的测试项目中工作,但是无法在android插件项目中工作。我不是Android专家,所以我对此的了解非常有限。但这就是我所拥有的:
public class FacebookSignInPlugin implements MethodCallHandler {
CallbackManager callbackManager;
AccessToken token;
/**
* Plugin registration.
*/
public static void registerWith(Registrar registrar) {
final MethodChannel channel = new MethodChannel(registrar.messenger(), "facebook_sign_in");
channel.setMethodCallHandler(new FacebookSignInPlugin());
}
@Override
public void onMethodCall(MethodCall call, Result result) {
if (call.method.equals("signInUser")) {
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
token = loginResult.getAccessToken();
Log.d("Facebook", token.toString());
}
@Override
public void onCancel() {
System.out.println("cancel");
Log.d("Facebook", "Cancel");
}
@Override
public void onError(FacebookException error) {
}
});
login(); …Run Code Online (Sandbox Code Playgroud)