Подтвердить что ты не робот

Удалить LoginActivity из Manifest - Facebook SDK для Android 3.0

Я заметил, что в 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 должен зависеть от этой декларации. Интересно, есть ли способ удалить его из файла манифеста.

О приложении отсутствует, я могу передать его в коде, изменив некоторые функции, конструктор LoginButton и конструктор сеанса.

4b9b3361

Ответ 1

При использовании официального стека сборки вам необходимо указать каждую активность (которая должна быть запущена) в вашем манифесте. Это действительно противоречит интуиции, поскольку можно ожидать, что такие вещи будут унаследованы от включенных библиотек.

Процесс, известный как "слияние манифеста", теперь возможен с помощью Maven сборника и с новым построить систему. Поскольку новая система сборки все еще находится в процессе разработки, вам просто нужно подождать, пока она будет официально выпущена.

Ответ 2

Как видно из этой ошибки, в декларации указывается следующее:

<activity android:name="com.facebook.LoginActivity"
          android:theme="@android:style/Theme.Translucent.NoTitleBar"
          android:label="@string/app_name" />