私のアプリは最近、多くの CookieSyncManager 例外を受け取り始めました:
java.lang.IllegalStateException: CookieSyncManager::createInstance()
needs to be called before CookieSyncManager::getInstance()
at android.webkit.CookieSyncManager.getInstance(CookieSyncManager.java:81)
at android.webkit.CookieManager$2.run(CookieManager.java:532)
at java.lang.Thread.run(Thread.java:1096)
エラーはスタック トレースから明らかですが、どこから発生したかはわかりません (これは Play ストアのレポートによるものです)。スタック トレースに添付されたユーザー メッセージは、Facebook SDK を使用している場所で発生していることを示しており、CookieSyncManager を使用しています。
// From Facebook.java
private void startDialogAuth(Activity activity, String[] permissions) {
...
CookieSyncManager.createInstance(activity); // <-- here
dialog(activity, LOGIN, params, new DialogListener() {
public void onComplete(Bundle values) {
CookieSyncManager.getInstance().sync(); // <-- here
...
これは私には問題ないように見えますが、上記の使用法に問題はありますか? どのテスト デバイスでもエラーを再現できません。実装に違いがあるのでしょうか?
ありがとう