17

Facebook SDK 3.0 では、マニフェスト ファイルに LoginActivity 宣言が必要であることに気付きました。

<activity android:name="com.facebook.LoginActivity"
          android:label="@string/app_name" />
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/applicationId" />

そこにない場合、以下の例外がスローされます。

com.facebook.FacebookException: Cannot use SessionLoginBehavior SSO_WITH_FALLBACK when com.facebook.LoginActivity is not declared as an activity in AndroidManifest.xml

Facebook SDK がこの宣言に依存しなければならない場合、それは悪い習慣のようです。マニフェストファイルから削除する方法はあるのだろうか。

applicationId の欠落については、いくつかの関数、LoginButton コンストラクター、および Session コンストラクターを変更することにより、コードで渡すことができます。

4

2 に答える 2

6

公式のビルド スタックを使用する場合、マニフェストで (開始する必要がある) すべてのアクティビティを参照する必要があります。そのようなものは含まれているライブラリから継承されると予想されるため、これは確かに直感に反します。

「マニフェストのマージ」として知られるプロセスは、Mavenビルド スタックと新しいビルド システムで現在可能です。新しいビルド システムはまだ開発中のため、正式に公開されるまで待つ必要があります。

于 2013-05-09T09:04:44.927 に答える