【发布时间】:2013-11-11 14:28:10
【问题描述】:
我开始使用 facebook-android-sdk-3.5.2。
SDK 项目还包含使用 api 的各种示例示例:
- HelloFacebookSample:一个简单的活动,您可以登录并做一些事情,效果很好。
接下来我想尝试下一个示例:
- GraphApiSample,我遇到了问题。
在我启动这个应用程序后,我收到了这个错误:(Logcat):
11-11 15:22:40.008: E/AndroidRuntime(14048): FATAL EXCEPTION: main
11-11 15:22:40.008: E/AndroidRuntime(14048): java.lang.RuntimeException: Unable to resume activity {com.facebook.samples.graphapi/com.facebook.samples.graphapi.GraphApiSampleActivity}: java.lang.IllegalArgumentException: Both context and applicationId must be non-null
11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2621)
11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2649)
11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2122)
11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.ActivityThread.access$700(ActivityThread.java:134)
11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1218)
11-11 15:22:40.008: E/AndroidRuntime(14048): at android.os.Handler.dispatchMessage(Handler.java:99)
11-11 15:22:40.008: E/AndroidRuntime(14048): at android.os.Looper.loop(Looper.java:137)
11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.ActivityThread.main(ActivityThread.java:4867)
11-11 15:22:40.008: E/AndroidRuntime(14048): at java.lang.reflect.Method.invokeNative(Native Method)
11-11 15:22:40.008: E/AndroidRuntime(14048): at java.lang.reflect.Method.invoke(Method.java:511)
11-11 15:22:40.008: E/AndroidRuntime(14048): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1007)
11-11 15:22:40.008: E/AndroidRuntime(14048): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
11-11 15:22:40.008: E/AndroidRuntime(14048): at dalvik.system.NativeStart.main(Native Method)
11-11 15:22:40.008: E/AndroidRuntime(14048): Caused by: java.lang.IllegalArgumentException: Both context and applicationId must be non-null
11-11 15:22:40.008: E/AndroidRuntime(14048): at com.facebook.AppEventsLogger.activateApp(AppEventsLogger.java:308)
11-11 15:22:40.008: E/AndroidRuntime(14048): at com.facebook.AppEventsLogger.activateApp(AppEventsLogger.java:292)
11-11 15:22:40.008: E/AndroidRuntime(14048): at com.facebook.samples.graphapi.GraphApiSampleActivity.onResume(GraphApiSampleActivity.java:76)
11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1199)
11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.Activity.performResume(Activity.java:5121)
11-11 15:22:40.008: E/AndroidRuntime(14048): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2611)
我明白了:
原因:java.lang.IllegalArgumentException:context 和 applicationId 都必须非空
好的,但我没有更改代码中的任何内容。 应该可以了吧?
我尝试过:
删除项目并导入
删除项目,并从现有代码中添加一个新的 android 项目
清理我的项目
删除 facebook sdk 库依赖并重新导入,然后再次清理。
所有这些都一样。
如果有人熟悉这个问题,请。帮帮我。
编辑:
由于某种原因,这个官方 facebook 示例不包含 appId。 感谢您的建议!
【问题讨论】:
-
尝试在strings.xml中设置app_id或者添加
-
将其添加为答案,我会接受,谢谢。
-
当前的 GraphApiSampleActivity 已经在类中定义了 APP_ID。我使用的是 3.6.0 版本的 SDK。
标签: android facebook facebook-android-sdk android-facebook