首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓Facebook登录ApplicationID错误

安卓Facebook登录ApplicationID错误
EN

Stack Overflow用户
提问于 2014-05-17 11:19:42
回答 2查看 651关注 0票数 1

我正在开发一个android应用程序,我正在尝试整合Facebook登录。问题是,我得到了“参数applicationId不能为空”的空指针异常。我已经阅读了大量与这个问题相关的堆叠溢出的帖子,据我所知,我正在做我应该做的一切(正确地引用清单中的应用程序it,反复检查它与应用程序仪表板中的相同)。但是它仍然显示这个错误。令人沮丧。请帮帮我

AndroidManifest.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.golffairway"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="18" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_TASKS" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >



        <activity
            android:name="com.android.golffairway.activity.LoginActivity"
            android:label="@string/app_name"
            android:noHistory="true"
            android:screenOrientation="portrait" >

        </activity>

        <activity
            android:name="com.android.golffairway.activity.HomeActivity"
            android:label="@string/app_name"
            android:noHistory="true"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.android.golffairway.activity.GolfActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name="com.android.golffairway.activity.MatchActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>
        <activity
            android:name="com.android.golffairway.activity.ScoresActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>
        <activity android:name="com.facebook.LoginActivity"></activity>

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

    </application>

</manifest>

strings.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<resources>   
    <string name="app_name">GolfFairway</string>
    <string name="app_id">727************</string>                            
</resources>

用于尝试连接到facebook的方法

代码语言:javascript
复制
public void ConnectToFacebook() {
    Session session = Session.getActiveSession();

    if(session == null)                   
        session = Session.openActiveSessionFromCache(context);

    if (!session.isOpened() && !session.isClosed()) {
        Log.i(TAG, "ConnectToFacebook if");
        OpenRequest newSession = new Session.OpenRequest((Activity) context);
        newSession.setCallback(callback);
        session.openForRead(newSession);
        try {
            Session.OpenRequest request = new Session.OpenRequest((Activity) context);
            request.setPermissions(Arrays.asList("email","publish_stream","publish_actions"));
        } catch (Exception e) {
            Log.d(TAG,""+e);
            e.printStackTrace();
        }
    } else {
        Log.i(TAG, "ConnectToFacebook else");
        Session.openActiveSession((Activity) context, true, callback);
    }
}

编辑:

logcat输出

代码语言:javascript
复制
05-17 11:27:58.923: E/Trace(2492): error opening trace file: No such file or directory (2)
05-17 11:27:59.079: D/dalvikvm(2492): GC_CONCURRENT freed 119K, 9% free 2626K/2872K, paused 2ms+0ms, total 14ms
05-17 11:27:59.211: D/libEGL(2492): loaded /system/lib/egl/libEGL_emulation.so
05-17 11:27:59.223: D/(2492): HostConnection::get() New Host Connection established 0xb8d3d698, tid 2492
05-17 11:27:59.243: D/libEGL(2492): loaded /system/lib/egl/libGLESv1_CM_emulation.so
05-17 11:27:59.251: D/libEGL(2492): loaded /system/lib/egl/libGLESv2_emulation.so
05-17 11:27:59.359: W/EGL_emulation(2492): eglSurfaceAttrib not implemented
05-17 11:27:59.403: D/OpenGLRenderer(2492): Enabling debug mode 0
05-17 11:32:02.952: D/AndroidRuntime(2492): Shutting down VM
05-17 11:32:02.952: W/dalvikvm(2492): threadid=1: thread exiting with uncaught exception (group=0xa6222908)
05-17 11:32:02.956: E/AndroidRuntime(2492): FATAL EXCEPTION: main
05-17 11:32:02.956: E/AndroidRuntime(2492): java.lang.NullPointerException: Argument 'applicationId' cannot be null
05-17 11:32:02.956: E/AndroidRuntime(2492):     at com.facebook.internal.Validate.notNull(Validate.java:29)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at com.facebook.Session.<init>(Session.java:227)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at com.facebook.Session.<init>(Session.java:216)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at com.facebook.Session$Builder.build(Session.java:1576)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at com.facebook.Session.openActiveSession(Session.java:888)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at com.facebook.Session.openActiveSessionFromCache(Session.java:808)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at com.android.golffairway.facebook.FacebookLogin.ConnectToFacebook(FacebookLogin.java:60)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at com.android.golffairway.fragments.AccountLoginFrag.onClick(AccountLoginFrag.java:122)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at android.view.View.performClick(View.java:4204)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at android.view.View$PerformClick.run(View.java:17355)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at android.os.Handler.handleCallback(Handler.java:725)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at android.os.Handler.dispatchMessage(Handler.java:92)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at android.os.Looper.loop(Looper.java:137)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at android.app.ActivityThread.main(ActivityThread.java:5041)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at java.lang.reflect.Method.invokeNative(Native Method)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at java.lang.reflect.Method.invoke(Method.java:511)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-17 11:32:02.956: E/AndroidRuntime(2492):     at dalvik.system.NativeStart.main(Native Method)
05-17 11:32:04.548: I/Process(2492): Sending signal. PID: 2492 SIG: 9

编辑2:

移除清单中的第二个applicationId标记(无论如何这不是问题),所以我希望不会有更多与此相关的答案出现。如有需要,将张贴更多细节!

EN

回答 2

Stack Overflow用户

发布于 2014-05-17 11:25:58

代码语言:javascript
复制
  <meta-data 
            android:name="com.facebook.sdk.ApplicationId" 
            android:value="@string/app_id"/>
        <meta-data 
            android:name="ApplicationId" 
            android:value="@string/app_id"/>
You are using ApplicationId two times in Manifest.xml please remove one.
票数 0
EN

Stack Overflow用户

发布于 2014-05-17 13:20:57

只需从清单中删除这些行:

代码语言:javascript
复制
<meta-data 
   android:name="ApplicationId" 
   android:value="@string/app_id"/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23710692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档