Facebook SDK Войти вылетает приложение на эмуляторе Kindle Fire
Мое приложение не имеет никакой функциональности без интеграции с Facebook, поэтому самое первое, что делает мое приложение в onCreate, - это входит в Facebook, предоставляя ему прослушиватель, который получает новостную ленту пользователя и затем загружает ее в мое приложение. Однако в эмуляторе Kindle Fire мое приложение не может даже открыть диалоговое окно входа в Facebook, используя вызов авторизации из SDK.
Этот логин, как и все остальное мое приложение, безупречно работает для меня на нескольких тестовых устройствах и на всех созданных мной эмуляторах AVD, за исключением официального эмулятора Kindle Fire, который я установил из менеджера SDK. К сожалению, у меня нет доступа к Kindle Fire, поэтому я не могу проверить его на реальном устройстве.
Чтобы изолировать проблему, я временно изменил свой код, чтобы абсолютно ничего не делать в прослушивателе обратного вызова, я просто оставляю пустой метод void для своей реализации onDataLoaded(). В onCreate я звоню следующее:
m_fbHelper.authorize(new NFDataLoadedListener() {
public void onDataLoaded() {
// TODO Auto-generated method stub
}
}, this);
Определение в классе FbHelper:
public void authorize(NFDataLoadedListener dataLoadedListener, Home homeActivity){
m_facebook.authorize(homeActivity, s_permissions, new FacebookDataRetrievalListener(dataLoadedListener));
}
Когда действие создается и выполняется этот вызов, появляется окно уведомления с надписью "загрузка", которое обычно происходит при входе в систему. Затем приложение просто падает, и эмулятор возвращается на домашний экран.
Журнал говорит это:
08-15 01: 40: 23.338: D / Zygote (32): процесс 414 завершается по сигналу (4)
08-15 01: 40: 23.342: I / ActivityManager (61): процесс com.mattgmg.socialadvancedpro (pid 414) умер.
08-15 01: 40: 23.366: E / InputDispatcher (61): канал '405ea458
com.mattgmg.socialadvancedpro / com.mattgmg.socialadvancedpro.Home (сервер)' ~ Потребитель закрыл входной канал или произошла ошибка. события = 0x8
08-15 01: 40: 23.366: E / InputDispatcher (61): канал '405ea458 com.mattgmg.socialadvancedpro/com.mattgmg.socialadvancedpro.Home (сервер)' ~ Канал неисправен и будет удален! 08-15 01: 40: 23.392: I / WindowManager (61): WIN DEATH: Window {4061da60 com.mattgmg.socialadvancedpro / com.mattgmg.socialadvancedpro.Home paused = false}
08-15 01: 40: 23.422: I / WindowManager (61): WIN DEATH: Window {405ea458 com.mattgmg.socialadvancedpro / com.mattgmg.socialadvancedpro.Home paused = false}
08-15 01: 40: 23.482: I / WindowManager (61): WIN DEATH: Window {40636a48 com.mattgmg.socialadvancedpro / com.mattgmg.socialadvancedpro.Home paused = false}
08-15 01: 40: 23.512: E / InputDispatcher (61): получен обратный обратный вызов приема для неизвестного входного канала. fd=175, события = 0x8
08-15 01: 40: 23.512: E / InputDispatcher (61): получен обратный обратный вызов приема для неизвестного входного канала. fd=178, события = 0x8
08-15 01: 40: 23.863: I / LAB126 (119): StatusBarService слышит намерение. действие: com.lab126.intent.TOP_WINDOW_CHANGED
Поскольку нет трассировки стека, я не могу понять, почему SDK Facebook не смог вызвать диалог входа в систему. В других сообщениях SO говорится, что эти сообщения журнала указывают на утечку памяти, но я еще ничего не сделал в приложении, кроме попыток войти в Facebook, поэтому это должно быть проблемой SDK, если это утечка памяти.