我开始和facebook-android-sdk-3.5.2.一起工作
SDK项目还包含使用api的varius示例示例,如:
接下来,我想尝试下一个名为“
启动此应用程序后,我得到了以下错误:(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:上下文和applicationId都必须是非空。
好吧,但我没有改变代码中的任何东西。这应该是工作,对吗?
我试着:
所有这些之后的结果都是一样的。
如果有人对这个问题很熟悉的话。帮帮我。
E D I T:
出于某种原因,这个正式的facebook示例不包含appId。谢谢你的建议!
发布于 2013-11-12 07:03:17
尝试在app_id
中设置strings.xml
或添加它。这里的入门教程中也提到了这一点:Documentation
另一个步骤:使用名称com.facebook.sdk.ApplicationId
和AndroidManifest.xml中的值@string/app_id
创建元数据。
发布于 2014-12-12 17:12:11
如果您没有(或希望)将facebook应用程序id存储在您的strings.xml中(例如,您可能通过互联网动态接收facebook应用程序id ),那么您可以调用此方法来激活.AppEventsLogger.activateApp(Context context, String facebookAppId)
您应该在活动的onResume()
方法中调用它:
@Override protected void onResume() { super.onResume(); AppEventsLogger.activateApp(...); }
https://stackoverflow.com/questions/19908756
复制相似问题