2015-05-31 37 views
0

嗨我想要集成Facebook登錄與我的Android應用程序。我創建Facebook上的應用程序,並添加了應用程序ID,我strings.xml我還設置以下權限在我的清單文件整合Facebook登錄與Android應用程序

<uses-permission android:name="android.permission.INTERNET" /> 
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> 

<activity android:name="com.facebook.FacebookActivity" 
      android:configChanges= 
       "keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
      android:theme="@android:style/Theme.Translucent.NoTitleBar" 
      android:label="@string/app_name" /> 

我也加入了關鍵字hash到我的Facebook開發者控制檯,我已經加入登錄按鈕到我的xml文件。

<com.facebook.login.widget.LoginButton 
     android:id="@+id/fb_login_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="30dp" 
     android:layout_marginBottom="30dp" /> 

當我嘗試運行失敗,錯誤如下

java.lang.ExceptionInInitializerError 
      at java.lang.reflect.Constructor.newInstance(Native Method) 
      at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 
      at android.view.LayoutInflater.createView(LayoutInflater.java:607) 
      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) 
      at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
      at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
      at com.savale.dejalearn.BaseActivity.actionBarInit(BaseActivity.java:96) 
      at com.savale.dejalearn.BaseActivity.onCreate(BaseActivity.java:83) 
      at android.app.Activity.performCreate(Activity.java:5933) 
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2282) 
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389) 
      at android.app.ActivityThread.access$900(ActivityThread.java:147) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296) 
      at android.os.Handler.dispatchMessage(Handler.java:102) 
      at android.os.Looper.loop(Looper.java:135) 
      at android.app.ActivityThread.main(ActivityThread.java:5254) 
      at java.lang.reflect.Method.invoke(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:372) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) 
    Caused by: null 
      at com.facebook.internal.Validate.sdkInitialized(Validate.java:99) 
      at com.facebook.FacebookSdk.getCallbackRequestCodeOffset(FacebookSdk.java:735) 
      at com.facebook.internal.CallbackManagerImpl$RequestCodeOffset.toRequestCode(CallbackManagerImpl.java:109) 
      at com.facebook.login.widget.LoginButton.<clinit>(LoginButton.java:58) 
            at java.lang.reflect.Constructor.newInstance(Native Method) 
            at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 
            at android.view.LayoutInflater.createView(LayoutInflater.java:607) 
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) 
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
            at com.savale.dejalearn.BaseActivity.actionBarInit(BaseActivity.java:96) 
            at com.savale.dejalearn.BaseActivity.onCreate(BaseActivity.java:83) 
            at android.app.Activity.performCreate(Activity.java:5933) 
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2282) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389) 
            at android.app.ActivityThread.access$900(ActivityThread.java:147) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:135) 
            at android.app.ActivityThread.main(ActivityThread.java:5254) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:372) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) 

當其具有登錄按鈕的佈局被充氣時發生此錯誤的應用程序。它只是說空,這使我很難調試這個錯誤。任何幫助將不勝感激。

感謝

+0

檢查這個 http://stackoverflow.com/questions/30045307/how-to-integrate-facebook-in-android-using-facebook-sdk-4-10/30047309#30047309 – Singhak

回答

1

你需要使用任何SDK功能之前調用FacebookSdk.sdkInitialize(context)

+0

相信這個人,他在Facebook上工作:D – AnixPasBesoin

+0

真棒,謝謝你的工作! –

相關問題