2016-03-24 20 views
2

私のcn1アプリでFacebookのログインに問題があります。私はここに書かれたすべての指示に従った:http://www.codenameone.com/facebook-login.html。私はFacebookConnectの新しいインスタンスを作成し、clientId、secretなどを設定します。次にLoginCallbackを設定し、doLogin()を呼び出します。しかし、私は私のデバイス上でそれを実行しようとすると画面がロードされ、それは決して停止しません。それはLoginFailedにも電話しません。ロードを停止したことはありません。ここでコードネーム1。 Facebookログインの問題

は私のコードです:

faceBookButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent evt) { 
     fb.setClientId("XXXXXXXXXXXXXXXX"); 
     fb.setClientSecret("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); 
     fb.setRedirectURI(""); 
     fb.setCallback(new LoginCallback(){ 
      @Override 
      public void loginFailed(String errorMessage) { 
       Dialog dg = new Dialog(); 
       dg.setDisposeWhenPointerOutOfBounds(true); 
       dg.setTitle("Login succeeded"); 
       dg.show(); 
      } 

      @Override 
      public void loginSuccessful() { 
       String token = fb.getAccessToken().getToken(); 
       Dialog dg = new Dialog(); 
       dg.setDisposeWhenPointerOutOfBounds(true); 
       dg.setTitle("Login succeeded"); 
       dg.show(); 
      } 
     }); 
     fb.doLogin(); 
    } 
}); 
+1

これはシミュレータで動作しますか?なぜredirectURIは空ですか?関連するビルドヒントを追加しましたか? – Chen

+0

@Chen URIと権限を追加しました。これでログインフォームが開き、ユーザー名とパスワードを入力できるようになりました。しかし、いったんログインすると、左上の「キャンセル」コマンドを使って、アプリケーションのURLのウェブページを開きます。私がキャンセルを押すと、ログイン要求がキャンセルされます。どのようにしてログインするのですか。私はURLのWebページを開かないようにします。それが必要ならば。その後、キャンセルを押してリクエストをキャンセルせずにユーザーが続行できるようにするにはどうすればよいですか。 – Kyri33

+0

ログインが成功すると、あなたのfbアプリ(ポータル上)とシミュレータ上にredirectURIが設定されていることを確認してください。ログインが成功する前にこのページが短時間表示されます。デバイスでは、ログイン画面も表示されません。ネイティブのfbアプリでログインするとします – Chen

答えて

0

facebook login hereの完全なガイドをご覧ください。

ログイン成功時には、アプリケーションのログイン画面から離れていくうちに、を表示し、Dialogを表示しないでください。 chat tutorialに完全なサンプルがあります。

関連する問題