簡體   English   中英

使用Facebook SDK 3.0登錄facebook

[英]Make a login with facebook using Facebook SDK 3.0

現在,我需要點擊一個按鈕,然后用該按鈕通過facebook提醒激活登錄。

現在,直到現在,我已經使用了舊代碼,但是已經棄用了,所以我需要使用新的代碼,這是我無法理解的。 它在哪里使用APP_ID字符串? 現在我拿了HelloFacebookSample和SessionLoginSample,但是當我嘗試在手機上運行它們時它們都崩潰了。 然后我嘗試了這段代碼: https//developers.facebook.com/docs/howtos/androidsdk/3.0/login-with-facebook/但它也是如此。

這就是logcat所說的:

 03-13 14:55:46.497: E/AndroidRuntime(28849): java.lang.RuntimeException: Unable to start activity ComponentInfo{ro.koolnet.android/ro.koolnet.android.ui.activities.LoginActivity}: java.lang.NullPointerException: Argument applicationId cannot be null
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2190)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2215)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at android.app.ActivityThread.access$600(ActivityThread.java:145)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1211)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at android.os.Handler.dispatchMessage(Handler.java:99)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at android.os.Looper.loop(Looper.java:137)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at android.app.ActivityThread.main(ActivityThread.java:4978)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at java.lang.reflect.Method.invokeNative(Native Method)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at java.lang.reflect.Method.invoke(Method.java:511)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at dalvik.system.NativeStart.main(Native Method)
 03-13 14:55:46.497: E/AndroidRuntime(28849): Caused by: java.lang.NullPointerException: Argument applicationId cannot be null
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at com.facebook.internal.Validate.notNull(Validate.java:29)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at com.facebook.Session.<init>(Session.java:224)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at com.facebook.Session.<init>(Session.java:209)
 03-13 14:55:46.497: E/AndroidRuntime(28849):   at com.facebook.UiLifecycleHelper.onCreate(UiLifecycleHelper.java:73)

有人可以幫我一個工作教程/示例嗎?

現在我也嘗試了這段代碼: https//github.com/fbsamples/android-3.0-howtos/blob/master/LoginHowTo/src/com/facebook/samples/loginhowto/MainFragment.java

但我仍然得到同樣的錯誤。 現在,我查看了logcat,它崩潰了,因為application_id為null(在sdk代碼中)。 現在,他們通過使用UIhelper實例化它。 但是當我創建uihelper(UiLifecycleHelper)時,我沒有選擇將APP_ID傳遞給它,為什么? 我是否有可能通過application_id somewherE?

我必須在清單中包含應用程序ID,如下所示:

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>

我有這個代碼: https//github.com/fbsamples/android-3.0-howtos/tree/master/LoginHowTo但唯一的區別是我需要一個活動,沒有片段,所以我改變了authButton.setFragment(this); with authButton.setSessionStatusCallback(callback); 現在唯一的問題是,在我登錄后,使用對話框,它不會進入我的onSessionStateChange

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM