我已经在我的应用程序中集成了面向android v3.5的Facebook SDK,并包含了安装发布代码:
com.facebook.AppEventsLogger.activateApp(this);
但是我收到了很多由以下原因引起的崩溃:
Settings.java line 418
com.facebook.Settings.getAttributionId
它正在抛出异常:
java.lang.IllegalStateException: Orca SharedPreferences used before initialized
我一直试图重现崩溃但没有成功。有人遇到过这个问题吗?我只是想知道:
/* Only activate FaceBook publish install if the user has the FaceBook app installed */
if (com.facebook.Settings.getAttributionId(getContentResolver()) != null){
com.facebook.AppEventsLogger.activateApp(this);
}
这会解决这个问题吗?谢谢!
答案 0 :(得分:7)
我们最终通过捕获异常并避免没有安装Facebook应用程序的设备被激活来解决此问题。 Facebook开发人员回答了我们:
“用户需要在其设备上安装Facebook Android应用并登录以使activateApp正常运行。”
这是我们最终使用的代码,它不再崩溃了:
try{
/* Only activate FaceBook publish install if the user has the FaceBook app installed */
if (com.facebook.Settings.getAttributionId(getContentResolver()) != null){
com.facebook.AppEventsLogger.activateApp(this);
}
} catch (IllegalStateException e){
Log.d(TAG, "Facebook Setting Exception again!");
}
我希望这有助于其他人......