1
私はいくつかのネイティブコードを使用してFlutterのFacebook認証プラグインを作成しようとしています。完全にネイティブのテストプロジェクトで作業しているコードがありますが、アンドロイドプラグインプロジェクトで動作するようにはできません。私はAndroidの人ではないので、私の知識は非常に限られています。しかし、これは私が持っているものです:MethodChannelで使用するカスタムFacebook
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();
result.success("It works on Android");
} else {
result.notImplemented();
}
}
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
public void login() {
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "user_friends"));
}
public void logout() {
LoginManager.getInstance().logOut();
}
}
私は最後の2つの機能:ログイン、ログアウトを使用したいと思います。しかし、メソッド "onActivityResult"では、onActivityResultを解決できず、 "login"でloginWithReadPermissionsと同じ問題が発生するという問題が発生しています。 すべてを正しくインポートする必要があります。 アンドロイドの経験がある人は手伝ってもらえますか?フラッターのプラグインでonActivityResult
を使用するためには