6

アプリに Facebook SDK for android v3.5 を統合し、インストール パブリッシング コードを含めました。

com.facebook.AppEventsLogger.activateApp(this);

しかし、次の原因で多くのクラッシュが発生しています。

Settings.java line 418
com.facebook.Settings.getAttributionId

そしてそれは例外を投げています:

java.lang.IllegalStateException: Orca SharedPreferences used before initialized

クラッシュを再現しようとしましたが、成功しませんでした。誰もこの問題に遭遇しましたか? 私はちょうどかどうか知りたい:

/* Only activate FaceBook publish install if the user has the FaceBook app installed */
if (com.facebook.Settings.getAttributionId(getContentResolver()) != null){
    com.facebook.AppEventsLogger.activateApp(this);
}

これで問題は解決しますか?ありがとう!

4

1 に答える 1

7

例外をキャッチし、Facebook アプリがインストールされていないデバイスがアクティブ化されないようにすることで、この問題を最終的に修正しました。Facebookの開発者は私たちに答えました:

「ActivateApp が正しく機能するためには、ユーザーはデバイスに Facebook Android アプリをインストールし、ログインする必要があります。」

これは最終的に使用したコードで、もうクラッシュしていません:

try{
        /* Only activate FaceBook publish install if the user has the FaceBook app installed */
        if (com.facebook.Settings.getAttributionId(getContentResolver()) != null){
        com.facebook.AppEventsLogger.activateApp(this);
        }
    } catch (IllegalStateException e){
        Log.d(TAG, "Facebook Setting Exception again!");
    }

これが他の人に役立つことを願っています...

于 2013-09-24T08:28:03.120 に答える