Facebook Android API 3.0 のドキュメントを読んでいますが、セッションとバックグラウンド アクティビティの関係がわかりません。すべての例で、「FacebookFragment」を拡張することになっています。私のアプリ全体が「SherlockFragment」を拡張していない場合は、それでいいので、オプションとして FacebookFragment を拡張することはありません。
SessionLoginExample のコードを使用し、Facebook とまったく同じ文字列の文字列に AppID を配置すると、次のようになります。
エラー
10-22 17:04:26.464: E/AndroidRuntime(5491): FATAL EXCEPTION: main
10-22 17:04:26.464: E/AndroidRuntime(5491): java.lang.RuntimeException: Unable to start activity ComponentInfo{nl.specsavers.moodspecs/nl.specsavers.moodspecs.LauncherActivity}: java.lang.NullPointerException: Argument applicationId cannot be null
アプリがインストールされているかどうか、およびセッションが存在するかどうかの初期チェックを設定しようとしています。
Settings.addLoggingBehavior(LoggingBehaviors.INCLUDE_ACCESS_TOKENS);
Session session = Session.getActiveSession();
if (session == null) {
if (savedInstanceState != null) {
session = Session.restoreSession(this, null, statusCallback, savedInstanceState);
}
if (session == null) {
session = new Session(this);
}
Session.setActiveSession(session);
if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) {
session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback));
}
}
どうにかして App ID を実際に問題のない場所に配置できるようにする必要がありますが、配置する場所が見つかりません。
SherlockFragment を使用しているため、FacebookFragment の拡張を回避できるかどうかを知る必要があります。
Tnx。