3
我想添加Facebook到已經完成的LibGDX遊戲。但是,當我試圖檢查當前會話時,它將返回null。我試圖做一個新的會話,而不是使用,和我得到一個空指針錯誤:applicationId不能爲null,但XML語法是正確的
01-04 19:49:15.433: E/AndroidRuntime(16540): FATAL EXCEPTION: main
01-04 19:49:15.433: E/AndroidRuntime(16540): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pressx.thedevice/com.pressx.thedevice.MainActivity}: java.lang.NullPointerException: Argument 'applicationId' cannot be null
01-04 19:49:15.433: E/AndroidRuntime(16540): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2070)
01-04 19:49:15.433: E/AndroidRuntime(16540): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2095)
01-04 19:49:15.433: E/AndroidRuntime(16540): at android.app.ActivityThread.access$600(ActivityThread.java:135)
01-04 19:49:15.433: E/AndroidRuntime(16540): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
01-04 19:49:15.433: E/AndroidRuntime(16540): at android.os.Handler.dispatchMessage(Handler.java:99)
01-04 19:49:15.433: E/AndroidRuntime(16540): at android.os.Looper.loop(Looper.java:137)
01-04 19:49:15.433: E/AndroidRuntime(16540): at android.app.ActivityThread.main(ActivityThread.java:4849)
01-04 19:49:15.433: E/AndroidRuntime(16540): at java.lang.reflect.Method.invokeNative(Native Method)
01-04 19:49:15.433: E/AndroidRuntime(16540): at java.lang.reflect.Method.invoke(Method.java:511)
01-04 19:49:15.433: E/AndroidRuntime(16540): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
01-04 19:49:15.433: E/AndroidRuntime(16540): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
01-04 19:49:15.433: E/AndroidRuntime(16540): at dalvik.system.NativeStart.main(Native Method)
01-04 19:49:15.433: E/AndroidRuntime(16540): Caused by: java.lang.NullPointerException: Argument 'applicationId' cannot be null
01-04 19:49:15.433: E/AndroidRuntime(16540): at com.facebook.internal.Validate.notNull(Validate.java:29)
01-04 19:49:15.433: E/AndroidRuntime(16540): at com.facebook.Session.<init>(Session.java:227)
01-04 19:49:15.433: E/AndroidRuntime(16540): at com.facebook.Session.<init>(Session.java:216)
01-04 19:49:15.433: E/AndroidRuntime(16540): at com.facebook.Session$Builder.build(Session.java:1576)
01-04 19:49:15.433: E/AndroidRuntime(16540): at com.facebook.Session.openActiveSession(Session.java:888)
01-04 19:49:15.433: E/AndroidRuntime(16540): at com.facebook.Session.openActiveSession(Session.java:830)
01-04 19:49:15.433: E/AndroidRuntime(16540): at com.pressx.facebook.FacebookAndroid.<init>(FacebookAndroid.java:27)
01-04 19:49:15.433: E/AndroidRuntime(16540): at com.pressx.thedevice.MainActivity.onCreate(MainActivity.java:17)
01-04 19:49:15.433: E/AndroidRuntime(16540): at android.app.Activity.performCreate(Activity.java:5244)
01-04 19:49:15.433: E/AndroidRuntime(16540): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
01-04 19:49:15.433: E/AndroidRuntime(16540): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2034)
01-04 19:49:15.433: E/AndroidRuntime(16540): ... 11 more
如果Facebook在AndroidManifest.xml中檢查的applicationID值,那麼什麼是正確的語法?我有這個作爲我的元數據線:
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
以此作爲自己的價值觀字符串:
<string name="app_id">###############</string>
目前全我的AndroidManifest.xml看起來是這樣的:
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.pressx.thedevice" android:versionCode="1" android:versionName="1.0" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET"/>
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" >
<meta-data android:name="ApplicationId" android:value="@string/app_id"/>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id" />
<activity android:name="com.facebook.LoginActivity">
</activity>
<activity android:name=".MainActivity" android:label="@string/app_name" android:screenOrientation="landscape" android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
和我full values.xml如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">The Device</string>
<string name="app_id">###############</string>
</resources>
任何人都有解決這個問題的辦法嗎?你需要更多的信息,比如我的項目設置或類似的東西?