java - android studio 中 facebook api 的 doInBackground() 错误

标签 java android facebook android-studio

我按照 Facebook 教程集成 SDK,在我的 .xml 文件中添加登录到 Facebook 按钮后,我的应用程序将编译、打开(在我运行 Lollipop 的 Nexus 4 上,项目针对 kitkat +) ,然后崩溃。我正在开发完全更新的 Android Studio。

日志:

02-07 22:48:24.340    1563-1600/com.example.prachi.mapsapplication E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
Process: com.example.prachi.mapsapplication, PID: 1563
java.lang.RuntimeException: An error occured while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:300)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
        at java.util.concurrent.FutureTask.run(FutureTask.java:242)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:818)
 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Object.hashCode()' on a null object reference
        at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:746)
        at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:774)
        at com.facebook.internal.Utility.queryAppSettings(Utility.java:673)
        at com.facebook.widget.LoginButton$1.doInBackground(LoginButton.java:678)
        at com.facebook.widget.LoginButton$1.doInBackground(LoginButton.java:675)
        at android.os.AsyncTask$2.call(AsyncTask.java:288)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:818)

.xml :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:id="@+id/main">

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Adventure Options"
    android:id="@+id/options"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="139dp"
    android:onClick="optionOnClick" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Random Adventure"
    android:id="@+id/random"
    android:layout_marginTop="57dp"
    android:onClick="randomOnClick"
    android:layout_below="@+id/authButton"
    android:layout_alignStart="@+id/options" />

<com.facebook.widget.LoginButton
    android:id="@+id/authButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true" />

最佳答案

如果您没有在 list 应用程序标记中包含应用程序 ID,它将崩溃。 如果是这种情况,请确保您的应用程序已在您的 Facebook 开发者帐户中注册,获取应用程序 ID,并将其放入您的字符串值中。

<string name="app_id">XXXXXXXXXXXXXXX</string>

之后,将以下内容放入 list 中的应用程序标签中:

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

关于java - android studio 中 facebook api 的 doInBackground() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28391531/

相关文章:

java - 无法运行 JPad - NoClassDefFoundError javafx 场景父级

android - 从 Android Webview 获取 session

java - 三星 Galaxy S8 全屏模式

android - 在UI线程上执行DB操作可以吗?

android - 如何将值传递给 Android 上的 Facebook 对话框

java - GSON解析动态JSON字段

java - 具有覆盖 hashcode() 和 equals() 的 HashMap 在我的情况下不起作用

android - 使用 Facebook 的移动托管 API 安装 android 应用程序,但无法获取查询数据?

php - 将变量传递到 Facebook iFrame 应用程序 PHP

java - 非重写方法不显示子类字段