2014-09-18 2 views
2

나는 Facebook 로그인이 parse.com과 통합 된 Android 앱이 있습니다. 안타깝게도 사용자가 페이스 북으로 로그인하면 권한 부여 웹보기가 두 번 실행됩니다.Facebook에서 사용자 로그인을 두 번 묻는 중

나는 적절한 해결책을 광범위하게 찾고 찾지 못했습니다. 나는 페이스 북쪽에있는 거의 모든 앱 설정으로도 플레이 해왔다.

여기 내 LoginActivity에서 로그인을 호출하는 곳입니다. 나는 다른 로그인이 시작되는 곳을 모른다.

가 가 이

페이스 북 설정

<activity 
    android:name="com.facebook.LoginActivity" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Translucent.NoTitleBar" /> 
<meta-data 
    android:name="com.facebook.sdk.ApplicationId" 
    android:value="@string/app_id" /> 
: 클래스 이름이 내 MainActivity, 단일 로그인입니다 여기에
<com.facebook.widget.LoginButton 
    android:id="@+id/fbLoginButton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:gravity="center_horizontal" 
    android:layout_marginBottom="10dp"/> 

내 매니페스트의 설정은 다음과 같습니다 여기
private void onLoginButtonClicked() { 
    NativeLoginActivity.this.progressDialog = ProgressDialog.show(NativeLoginActivity.this, "", "Logging in...", true); 
    List<String> permissions = Arrays.asList("public_profile", "user_friends", "user_about_me", "user_relationships", "user_birthday", 
      "user_location"); 
    ParseFacebookUtils.logIn(permissions, this, new LogInCallback() { 
     @Override 
     public void done(ParseUser user, ParseException err) { 
      //NativeLoginActivity.this.progressDialog.dismiss(); 
      if (user == null) { 
       Log.d(TAG, "Uh oh. The user cancelled the Facebook login."); 
      } else if (user.isNew()) { 
       showUserDetailsActivity(); 
      } else { 
       Log.d(TAG, "User logged in through Facebook!"); 
       showUserDetailsActivity(); 
      } 
     } 
    }); 
} 

는 XML에있는 로그인 버튼입니다 사용 가능, 앱 상태는 공개

추가 로그인 ca 올거야. 어떤 도움을 받으면 나를 해결책으로 생각합니다. 나는 상대적으로 안드로이드에 처음이다.

+0

시도, 즉 응답이 사실이라면, 다음 활동을 위해 직접 이동할 수 있습니다. – VVB

답변

3

해결 페이스 북 위젯들을 가지고

(페이스 북 문서에 제공된 바와 같이) (파싱 문서에 제공된 바와 같이) XML의 표준 버튼을 이용하여 한국어 위젯 버튼을 사용한 차이가있다

로그인을 시작하는 뿌리깊은 기능 (방법을 모름).

표준 버튼을 사용하려면 수신기를 연결하고 구문 분석 Facebook 로그인 기능을 호출해야합니다.

위젯 외에 청취 및 구문 분석 호출이 있었기 때문에 로그인이 두 번 호출되었습니다. 이것에 < com.facebook.widget.LoginButton ... />

:

이 변경 첫째 페이스 북의 로그인에서 웹뷰의 응답을 얻을

<Button 
    android:id="@+id/fbLoginButton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="10dp" 
    android:gravity="center_horizontal" 
    android:background="@drawable/button_login" 
    android:text="@string/login" 
    android:textColor="#fff" /> 
관련 문제