amjadArabia

Code For Facebook Login

Dec 25th, 2017
766
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.17 KB | None | 0 0
  1. main
  2. =========
  3. CallbackManager callbackManager;
  4.     ProgressDialog mdialog;
  5.     TextView txtEmail, txtName;
  6.  
  7.  
  8.     RelativeLayout login;
  9.     @Override
  10.     protected void onCreate(Bundle savedInstanceState) {
  11.         super.onCreate(savedInstanceState);
  12.         setContentView(R.layout.activity_login);
  13.         setPointer();
  14.     }
  15.  
  16.     private void setPointer() {
  17.         login =  findViewById(R.id.login);
  18.  
  19.         login.setOnClickListener(new View.OnClickListener() {
  20.             @Override
  21.             public void onClick(View v) {
  22.                 Intent intent = new Intent(main.this,MainActivity.class);
  23.                 startActivity(intent);
  24.             }
  25.  
  26.         });
  27.         // For Facebook Login
  28.         callbackManager = CallbackManager.Factory.create();
  29.         txtEmail = findViewById(R.id.txtEmail);
  30.         txtName = findViewById(R.id.txtName);
  31.  
  32.         @SuppressLint("WrongViewCast") LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
  33.         loginButton.setOnClickListener(new View.OnClickListener() {
  34.             @Override
  35.             public void onClick(View v) {
  36.  
  37.             }
  38.         });
  39.         loginButton.setReadPermissions(Arrays.asList("email","public_profile"));
  40.         loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
  41.             @Override
  42.             public void onSuccess(LoginResult loginResult) {
  43.                 mdialog = new ProgressDialog(main.this);
  44.                 mdialog.setMessage("Retrieving data...");
  45.                 mdialog.show();
  46.                 String accesstoken = loginResult.getAccessToken().getToken();
  47.  
  48.                 GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
  49.                     @Override
  50.                     public void onCompleted(JSONObject object, GraphResponse response) {
  51.                         mdialog.dismiss();
  52.                         Log.d("response",response.toString());
  53.                         getData(object);
  54.                     }
  55.                 });
  56.                 Bundle parameters = new Bundle();
  57.                 parameters.putString("fields","id,email,birthday,friends,name");
  58.  
  59.                 request.setParameters(parameters);
  60.                 request.executeAsync();
  61.  
  62.             }
  63.             @Override
  64.             public void onCancel() {
  65.             }
  66.  
  67.             @Override
  68.             public void onError(FacebookException error) {
  69.  
  70.             }
  71.         });
  72.  
  73.         // if already login
  74.         if (AccessToken.getCurrentAccessToken() != null){
  75.  
  76.             // Just set user Id
  77.             txtEmail.setText(AccessToken.getCurrentAccessToken().getUserId());
  78.         }
  79.  
  80.     }
  81.     @Override
  82.  
  83.     // Facebook Methods
  84.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  85.         super.onActivityResult(requestCode, resultCode, data);
  86.         callbackManager.onActivityResult(requestCode, resultCode, data);
  87.     }
  88.     public void getData(JSONObject object) {
  89.  
  90.         try {
  91.             //   URL profile_picture = new URL("https://graph.facebook.com/" + object.getString("id") + "/picture?width=250&height=250");
  92.             //   Picasso.with(this).load(profile_picture.toString()).into(imgAvatar);
  93.             txtEmail.setText(object.getString("email"));
  94.             //   txtBirthday.setText(object.getString("birthday"));
  95.             //   txtFriends.setText("Friends: " + object.getJSONObject("friends").getJSONObject("summary").getString("total_count"));
  96.                txtName.setText(object.getString("name"));
  97.  
  98.         } catch (JSONException e) {
  99.             e.printStackTrace();
  100.         }
  101.  
  102.  
  103.     }
  104.     // End of Facebook Method
  105. }
  106. ========================================================================================================
  107.  
  108.  
  109. Manifest
  110. ==============
  111. <meta-data
  112.             android:name="com.facebook.sdk.ApplicationId"
  113.             android:value="@string/facebook_app_id" />
  114.  
  115.  
  116.  
  117. ==========================================================================================================
  118.  
  119.  
  120.  
  121. app.gruild(Module:app)
  122. ========================
  123. implementation 'com.facebook.android:facebook-android-sdk:4.28.0'
  124.  
  125.  
  126.  
  127.  
  128. ===========================================================================================================
  129.  
  130.  
  131.  
  132. string.xml
  133. =============
  134. <!-- Facebook Codes to make facebook login -->
  135.     <string name="facebook_app_id">1541145485955161</string>
  136.     <string name="fb_login_protocol_scheme">fb1541145485955161</string>
  137.  
  138.  
  139. ============================================================================================================
  140.  
  141.  
  142. activity_main.xml
  143. =================
  144.  
  145. <android.support.design.widget.TabLayout
  146.             android:id="@+id/tabs"
  147.             android:layout_width="match_parent"
  148.             android:layout_height="42dp"
  149.             android:background="#D1C4E9"
  150.             app:tabSelectedTextColor="#6200EA"
  151.             app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"
  152.             app:tabTextColor="#6200EA"
  153.             app:tabGravity="fill"
  154.  
  155.  
  156. ==================================================================================================
Advertisement
Add Comment
Please, Sign In to add comment