Android Kindle Fire emulator上的Facebook sdk登录崩溃应用程序
如果没有Facebook集成,我的应用程序就没有任何功能,因此我的应用程序在onCreate中做的第一件事就是登录Facebook,为其提供一个侦听器,该侦听器将抓取用户的新闻提要,然后将其加载到我的应用程序中。然而,在KindleFireEmulator上,我的应用程序甚至无法使用SDK的授权调用打开Facebook的登录对话框 除了从SDK管理器安装的官方Kindle Fire仿真器外,我还可以在几个测试设备和我创建的每个AVD仿真器上完美地运行这个登录以及我的应用程序的其余部分。遗憾的是,我无法使用KindleFire,因此无法在真正的设备上进行测试 为了解决这个问题,我临时修改了代码,使其在回调侦听器中完全不做任何事情,只为onDataLoaded()实现留下一个空的void方法。在onCreate中,我调用以下命令:Android Kindle Fire emulator上的Facebook sdk登录崩溃应用程序,android,facebook-android-sdk,kindle-fire,Android,Facebook Android Sdk,Kindle Fire,如果没有Facebook集成,我的应用程序就没有任何功能,因此我的应用程序在onCreate中做的第一件事就是登录Facebook,为其提供一个侦听器,该侦听器将抓取用户的新闻提要,然后将其加载到我的应用程序中。然而,在KindleFireEmulator上,我的应用程序甚至无法使用SDK的授权调用打开Facebook的登录对话框 除了从SDK管理器安装的官方Kindle Fire仿真器外,我还可以在几个测试设备和我创建的每个AVD仿真器上完美地运行这个登录以及我的应用程序的其余部分。遗憾的是,
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));
}
创建活动并进行此调用时,会出现一个通知框,显示“正在加载”,这通常在登录时发生。然后应用程序崩溃,模拟器返回主屏幕
日志上说:
8-15 01:40:23.338:D/合子(32):过程414被信号(4)终止
08-15 01:40:23.342:I/ActivityManager(61):流程
SocialaAdvancedPro(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):赢得死亡:窗口{4061da60
com.mattgmg.socialadvancedpro/com.mattgmg.socialadvancedpro.Home
暂停=错误}
08-15 01:40:23.422:I/WindowManager(61):赢得死亡:窗口{405ea458
com.mattgmg.socialadvancedpro/com.mattgmg.socialadvancedpro.Home
暂停=错误}
08-15 01:40:23.482:I/WindowManager(61):赢得死亡:窗口{40636a48
com.mattgmg.socialadvancedpro/com.mattgmg.socialadvancedpro.Home
暂停=错误}
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\u窗口\u已更改
由于没有堆栈跟踪,我无法理解Facebook SDK为何无法打开登录对话框。其他SO帖子说这些日志消息表明内存泄漏,但除了尝试登录Facebook之外,我还没有在应用程序中做任何事情,因此如果是内存泄漏,那么一定是SDK问题