W mojej aplikacji na Androida mam zintegrowany login na Facebooku, który działa poprawnie. Później dostosowałem przycisk logowania, który działa również bez problemu. Kiedy użytkownik kliknie przycisk logowania na Facebooku, to z powodzeniem zezwoli użytkownikowi na zalogowanie się bez problemu. Problem polega na tym, że po zalogowaniu się użytkownik zamiast przejść do następnej czynności wyświetla tę samą stronę logowania z przyciskiem facebook z wylogowaniem na przycisku logowania na Facebooku, a następnie przechodzi do następnej czynności. Zobacz zdjęcie poniżej: Niestandardowy przycisk logowania na Facebooku w studio
Jest to dostosowany przycisk logowania do Facebooka, który działa poprawnie. Patrz zdjęcie poniżej po zalogowaniu:
Wyświetla tekst na przycisku Wyloguj, a następnie przechodzi do następnej czynności. Chcę przejść bezpośrednio do następnej aktywności zamiast wyświetlać ten przycisk logowania z tekstem wylogowania. Jak mam to zrobic.? Jakaś pomoc..!!
Oto mój kod poniżej:
kodu xml:
<com.facebook.login.widget.LoginButton
xmlns:fb="http://schemas.android.com/apk/res-auto"
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
fb:login_text=""
android:layout_gravity="center"/>
MainActivity.java
loginButton = (LoginButton)findViewById(R.id.login_button);
loginButton.setBackgroundResource(R.drawable.fb);
loginButton.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
loginButton.setCompoundDrawablePadding(0);
loginButton.setPadding(0, 0, 0, 0);
loginButton.setText("");
loginButton.setReadPermissions(permissionNeeds);
loginButton.registerCallback(callbackManager,new FacebookCallback<LoginResult>()
{
@Override
public void onSuccess(LoginResult loginResult)
{
GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(),
new GraphRequest.GraphJSONObjectCallback()
{
@Override
public void onCompleted(JSONObject user, GraphResponse response)
{
if(user !=null)
{
String firstName = user.optString("first_name");
String lastName = user.optString("last_name");
String email = user.optString("email");
Intent i1 = new Intent(getApplicationContext(),FacebookData.class);
i1.putExtra("first",firstName);
i1.putExtra("last",lastName);
i1.putExtra("email",email);
startActivity(i1);
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,first_name,last_name,email");
request.setParameters(parameters);
request.executeAsync();
}