Вход в Facebook SDK 3.0 — процесс Facebook завершаетсяAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Вход в Facebook SDK 3.0 — процесс Facebook завершается

Сообщение Гость »


Я пытаюсь использовать вход в Facebook 3.0 SDK, следуя этому руководству от разработчика Facebook: https://developers.facebook.com/docs/tu ... henticate/

Моя проблема в том, что когда пользователь нажимает кнопку входа в систему, моя активность закрывается и процесс Facebook завершается.

это логарифм из Android Studio:

08-20 12:17:40.124 353-353/system_process I/ActivityManager: START u0 {act=SSO_WITH_FALLBACK cmp=com.my.app/com.facebook.LoginActivity (есть дополнительные возможности)} из pid 30362 08-20 12:17:40.434 353-370/system_process I/ActivityManager: отображается com.my.app/com.facebook.LoginActivity: +268 мс 08-20 12:17:44.094 353-546/system_process I/ActivityManager: Запустите процедуру android.process.acore для поставщика контента com.android.providers.contacts/.ContactsProvider2: pid=30500 uid=10014 gids={50014, 3003 , 1015, 1028} 08-20 12:17:44.134 30500-30500/android.process.acore E/Trace: ошибка при открытии файла трассировки: такого файла или каталога нет (2) 08-20 12:17:45.494 353-12974/system_process I/ActivityManager: Процесс com.facebook.katana:dash (pid 30233) умер. Есть предложения по моей проблеме?

РЕДАКТИРОВАТЬ: Вот код основного действия

публичный класс MainActivity расширяет FragmentActivity { общедоступное статическое окончательное логическое значение D = SystemConstants.ACTIVE_DEBUG; public static Final String TAG = "MainActivity"; частный статический финал int SPLASH = 0; частный статический окончательный int SELECTION = 1; частный статический окончательный int FRAGMENT_COUNT = SELECTION +1; частные фрагменты Fragment[] = новый фрагмент[FRAGMENT_COUNT]; частное логическое значение isResumed = false; частный UiLifecycleHelper uiHelper; частный обратный вызов Session.StatusCallback = новый Session.StatusCallback() { @Override public void call (сеанс сеанса, состояние SessionState, исключение исключения) { onSessionStateChange (сеанс, состояние, исключение); } }; @Override protected void onCreate (Bundle saveInstanceState) { super.onCreate(saveInstanceState); uiHelper = новый UiLifecycleHelper (это, обратный вызов); uiHelper.onCreate(savedInstanceState); setContentView(R.layout.main); FragmentManager fm = getSupportFragmentManager(); фрагменты[SPLASH] = fm.findFragmentById(R.id.splashFragment); фрагменты[ВЫБОР] = fm.findFragmentById(R.id.selectionFragment); Транзакция FragmentTransaction = fm.beginTransaction(); for (Фрагмент фрагмента: фрагменты) { транзакция.скрыть(фрагмент); } транзакция.commit(); } /** * Настройка мест назначения файлов. */ частная пустота configureEnvironment() { Файл SD = Environment.getExternalStorageDirectory(); если (sd.canWrite()) { Назначение файла = новый файл (sd, SettingConstants.BASE_DIR); if (!destination.mkdir() && !destination.isDirectory()) { Log.e(TAG, «Невозможно создать базовый каталог.»); Tracking.sendException(new IllegalStateException("Невозможно создать базовый каталог.")); } Файл аудио = новый файл (sd, SettingConstants.AUDIO_DIR); if (!audio.mkdir() && !audio.isDirectory()) { Log.e(TAG, «Невозможно создать аудиокаталог.»); Tracking.sendException(new IllegalStateException("Невозможно создать аудиокаталог.")); } Аватар файла = новый файл (sd, SettingConstants.AVATAR_DIR); if (!avatar.mkdir() && !avatar.isDirectory()) { Log.e(TAG, «Невозможно создать каталог аватаров.»); Tracking.sendException(new IllegalStateException("Невозможно создать каталог аватаров."); } Изображение файла = новый файл (sd, SettingConstants.IMAGE_DIR); if (!image.mkdir() && !image.isDirectory()) { Log.e(TAG, «Невозможно создать каталог изображений.»); Tracking.sendException(new IllegalStateException("Невозможно создать каталог изображений.")); } Файл видео = новый файл (sd, SettingConstants.VIDEO_DIR); if (!video.mkdir() && !video.isDirectory()) { Log.e(TAG, «Невозможно создать каталог видео.»); Tracking.sendException(new IllegalStateException("Невозможно создать каталог видео.")); } } } /** * Показывает фрагмент * @param фрагментиндекс * @param addToBackStack */ Private void showFragment(int фрагментIndex, логическое значение addToBackStack) { FragmentManager fm = getSupportFragmentManager(); Транзакция FragmentTransaction = fm.beginTransaction(); for (int i = 0; i < фрагменты.длина; я++) { если (я == фрагментиндекс) { транзакция.show(фрагменты [я]); } еще { транзакция.hide(фрагменты [я]); } } если (addToBackStack) { транзакция.addToBackStack(ноль); } транзакция.commit(); } /** * вызывается из-за изменения состояния сеанса. Метод показывает соответствующий фрагмент на основе состояния аутентификации человека. * @param session Сессия Facebook * @param state Состояние входа в Facebook * Исключение @param Возможное исключение */ Private void onSessionStateChange (сеанс сеанса, состояние SessionState, исключение исключения) { // Вносим изменения только в том случае, если активность видна если (isResumed) { Менеджер FragmentManager = getSupportFragmentManager(); // Получаем количество записей в заднем стеке int backStackSize = Manager.getBackStackEntryCount(); // Очищаем задний стек for (int я = 0; я
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»