1

我想在android中使用facebook登錄。當facebook應用程序安裝或未安裝時,它運行良好。簡而言之,它在Facebook應用和瀏覽器中工作正常,但如果安裝了Facebook Lite而不是Facebook原版應用,則有時無法正常工作,也無法返回結果。那麼如果安裝了Facebook Lite,是否可以在瀏覽器中使用Facebook進行登錄?用臉書登錄android

回答

0

請參閱this link.In此鏈接給你最好的教程,也它的工作與Facebook應用程序,Facebook的沒有沒有app.I facebook集成從該鏈接

只是在你的build.gradle compile 'com.facebook.android:facebook-android-sdk:4.+'沒有添加此gradle這個需要下載Facebook SDK

+0

請查看我的更新回答 –

+0

謝謝@Bhupat Bheda。它在Facebook應用和瀏覽器中工作正常,但與facebook lite應用不兼容。 –

0
  1. 下載Android SDK
  2. 獲取Facebook應用ID,包含的SDK, 和密鑰哈希添加到您的個人資料
  3. 啓用單點登錄您的應用

請閱讀文檔

https://developers.facebook.com/docs/facebook-login/android

+0

我已經完成了所有這一步,但你不明白我的問題。它與Facebook應用程序和瀏覽器工作正常,但不適用於Facebook Lite應用程序。 –

+0

你必須詳細解釋用戶有一個美好的一天! – redAllocator

0

您正在使用Facebook的SDK 4.0,有問題與Facebook精簡版。

編譯此SDK:compile 'com.facebook.android:facebook-android-sdk:[4,5)'

以及在gradle這個補充一點:

jcenter { 
      url "http://jcenter.bintray.com/" 
     } 

更多信息,請參閱文件正確。

+0

謝謝@Sagar Chavada瞭解我的問題。我將在我的代碼中使用它並給你一個更新。我希望它會起作用。 –

+0

我曾嘗試過,但仍然無法正常工作。 –

0
**Process Login With Facebook** 
**Working on Play Store** 

**Link  
    - https://play.google.com/store/apps/details?id=com.codecube.airbucks&hl=en  
** 
**Step 1** Registered your new app? If you didn't, go to https://developers.facebook.com/apps/, click Add a New App in the top right and follow the instructions. **step by step** 

**Manifest Permission** 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

**build.Gradle Dependency** 
compile 'com.facebook.android:facebook-android-sdk:4.8.0' 
    /*compile 'com.facebook.android:facebook-android-sdk:[4,5)'*/ 


       <activity android:name="com.facebook.FacebookActivity" 
          android:theme="@android:style/Theme.Translucent.NoTitleBar" 
          android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
          android:label="@string/app_name" /> 
         <meta-data android:name="com.facebook.sdk.ApplicationName" 
          android:value="@string/app_name" /> 
         <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> 

         <provider android:authorities="com.facebook.app.FacebookContentProvider1854328631556764" 
          android:name="com.facebook.FacebookContentProvider" 
          android:exported="true"/> 

      **Layout Xml Code** 
      <com.facebook.login.widget.LoginButton 
        android:id="@+id/login_button" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        /> 

      **Put own generate facebook Key in String.xml File** 
      <string name="facebook_app_id">1854328631556764</string> 
       <string name="fb_login_protocol_scheme">fb1854328631556764</string> 

       **MainActivity CODE** 
       protected void onCreate(Bundle savedInstanceState) { 
         super.onCreate(savedInstanceState); 
         setContentView(R.layout.activity_main1); 
         FacebookSdk.sdkInitialize(this.getApplicationContext()); 
         AppEventsLogger.activateApp(this); 

         callbackManager = CallbackManager.Factory.create(); 
         fbloginButton = (LinearLayout) findViewById(R.id.facebook_button); 


         fbloginButton.setOnClickListener(new View.OnClickListener() { 
          @Override 
          public void onClick(View v) { 

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
             int permissionCheck = ContextCompat.checkSelfPermission(MainActivity.this, 
               android.Manifest.permission.CAMERA); 
             if (permissionCheck == PackageManager.PERMISSION_GRANTED) { 
              //showing dialog to select image 
              callFacebook(); 
              Log.e("permission", "granted"); 
             } else { 
              ActivityCompat.requestPermissions(MainActivity.this, 
                new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE, 
                  android.Manifest.permission.WRITE_EXTERNAL_STORAGE, android.Manifest.permission.CAMERA}, 1); 
             } 
            } else { 
             callFacebook(); 
            } 
          } 
         }); 
        } 

       **CAllOnFAcebook** 
        public void callFacebook() { 

         callbackManager = CallbackManager.Factory.create(); 

       //  LoginManager.getInstance().logInWithReadPermissions(MainActivity2.this, Arrays.asList("email")); 

         LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("public_profile")); 

         LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 

          @Override 
          public void onSuccess(LoginResult loginResult) { 
           Log.e("keshav","onSuccess called "); 
           GraphRequest request = GraphRequest.newMeRequest(
             loginResult.getAccessToken(), 
             new GraphRequest.GraphJSONObjectCallback() { 
              @Override 
              public void onCompleted(
                JSONObject object, 
                GraphResponse response) { 
               // Application code 
               Log.v("LoginActivityfacebook", response.toString()); 

               try { 
                JSONObject data = response.getJSONObject(); 
                facebookName = data.getString("name"); 
                facebookEmail = data.getString("email"); 
                facebookId = data.getString("id"); 
                facebookLink = data.getString("link"); 
                facebookLink = facebookLink.replace("https://www.facebook.com/app_scoped_user_id/", ""); 
                facebookLink = facebookLink.replace("/", ""); 
                Log.e("profilelink", "" + facebookLink); 
                facebookLink = "https://graph.facebook.com/" + facebookLink + "/picture"; 

                Log.e("facebookName", "is -> " + facebookName); 
                Log.e("facebookEmail", "is -> " + facebookEmail); 
                Log.e("facebookId", "is -> " + facebookId); 
                Log.e("facebookLink", "is -> " + facebookLink); 


                 Log.e("Keshav","Suceesfully Login "+facebookName); 



                } else { 
                 CommonMethod.showAlert("Intenet Connectivity Failure", MainActivity.this); 
                } 
               } catch (JSONException e) { 
                // TODO Auto-generated catch block 
                e.printStackTrace(); 
               } 
              } 
             }); 
           Bundle parameters = new Bundle(); 
           parameters.putString("fields", "id,name,email,gender, birthday,link"); 
           request.setParameters(parameters); 
           request.executeAsync(); 
          } 

          @Override 
          public void onCancel() { 
           // App code 
           Log.i(TAG, "cancelTriggered"); 
          } 

          @Override 
          public void onError(FacebookException exception) { 
           // App code 
           Log.i(TAG, "errorTriggered"); 
          } 
         }); 
         LoginManager.getInstance().logOut();    // TODO Add Me Using this previous facebook login id password logout 
        } 


       **Process Login With Facebook** 
      **Working on Play Store** 

     **Link https://play.google.com/store/apps/details?id=com.codecube.airbucks&hl=en**