<FrameLayout android:id="@+id/facebook_lay" android:layout_width="0dp" android:layout_height="40dp" android:layout_weight="1" android:background="@drawable/facebook_button_bg"> <com.lovetohave.love.ui.LoveTextView android:id="@+id/facebook_txt" android:layout_width="match_parent" android:layout_height="match_parent" android:background="?attr/selectableItemBackgroundBorderless" android:clickable="true" android:gravity="center" android:text="@string/facebook" android:textColor="@color/white" android:textSize="@dimen/material_small" app:customFont="fonts/Roboto-Medium.ttf" /> <com.rey.material.widget.ProgressView android:id="@+id/fb_progress_view_cir" android:layout_width="20dp" android:layout_height="20dp" android:layout_gravity="center" android:visibility="gone" app:cpd_strokeColor="#fff" app:cpd_strokeSize="1dp" app:pv_autostart="true" app:pv_circular="true" app:pv_progressMode="indeterminate" app:pv_progressStyle="@style/CircularProgress1" /> </FrameLayout>
You can create a design as a text box or button. and add the following code inside the button click event.
LoginManager.getInstance().logOut(); LoginManager.getInstance().logInWithReadPermissions(SignIn.this, permissionNeeds);
Then enter the following code in the onCreate method to get the profile information
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { mAccessToken = loginResult.getAccessToken() .getToken(); PrefUtil.saveData("accesstoken", mAccessToken, SignIn.this); GraphRequest request = GraphRequest.newMeRequest( loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() { @Override public void onCompleted(org.json.JSONObject object, GraphResponse response) { } catch (org.json.JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }); Bundle parameters = new Bundle(); parameters .putString( "fields", "id,name,email,gender,birthday,first_name,last_name,location,picture"); request.setParameters(parameters); request.executeAsync(); } @Override public void onCancel() { Log.i(TAG, "LoginManager FacebookCallback onCancel"); mFbProgressBar.setVisibility(View.GONE); mFacebookTxt.setVisibility(View.VISIBLE); if (pendingAction != PendingAction.NONE) { showAlert(); pendingAction = PendingAction.NONE; } } @Override public void onError(FacebookException exception) { mFbProgressBar.setVisibility(View.GONE); mFacebookTxt.setVisibility(View.VISIBLE); Log.i(TAG, "LoginManager FacebookCallback onError"); if (pendingAction != PendingAction.NONE && exception instanceof FacebookAuthorizationException) { showAlert(); pendingAction = PendingAction.NONE; } } private void showAlert() { new AlertDialog.Builder(SignIn.this) .setTitle(R.string.cancelled) .setMessage(R.string.permission_not_granted) .setPositiveButton(R.string.ok, null).show(); } });
Anantha babu
source share