モバイル向けの新しい Google アナリティクス ベータ版を使用しています。コードを実行すると、次の例外が発生することがあります。
E/AndroidRuntime(29101): java.lang.RuntimeException: アクティビティ ComponentInfo を開始できません {com.wsoft/com.wsoft.ui.AppActivity}: java.lang.IllegalStateException: EasyTracker.getInstance().setContext(context を呼び出す必要があります) ) または getTracker() を呼び出す前に startActivity(activity) E/AndroidRuntime(29101): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) で.java:2084) E/AndroidRuntime(29101): android.app.ActivityThread.access$600(ActivityThread.java:130) E/AndroidRuntime(29101): android.app.ActivityThread$H.handleMessage(ActivityThread.java: 1195) E/AndroidRuntime(29101): android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime(29101): android.os.Looper.loop(Looper.java:137) E/AndroidRuntime(29101): at android.app.ActivityThread.main(ActivityThread.java:4745) E/AndroidRuntime(29101): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(29101) ): java.lang.reflect.Method.invoke(Method.java:511) で E/AndroidRuntime(29101): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) で E/AndroidRuntime (29101): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) で E/AndroidRuntime(29101): dalvik.system.NativeStart.main(ネイティブ メソッド) で E/AndroidRuntime(29101):com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) E/AndroidRuntime(29101): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) E/AndroidRuntime (29101): dalvik.system.NativeStart.main(ネイティブ メソッド) E/AndroidRuntime(29101) で:com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) E/AndroidRuntime(29101): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) E/AndroidRuntime (29101): dalvik.system.NativeStart.main(ネイティブ メソッド) E/AndroidRuntime(29101) で:
原因: java.lang.IllegalStateException: getTracker() E/AndroidRuntime(29101): com.google.analytics.tracking.android を呼び出す前に、EasyTracker.getInstance().setContext(context) または startActivity(activity) を呼び出す必要があります。 EasyTracker.getTracker(EasyTracker.java:113) E/AndroidRuntime(29101): com.wsoft.ui.AppActivity.setupApp(AppActivity.java:425) で E/AndroidRuntime(29101): com.wsoft.ui.AppActivity で。 onCreate(AppActivity.java:121)
分析をセットアップするために、次のように onStart() メソッドで EasyTracker を初期化しました (ドキュメントごと)。
public void onStart() {
super.onStart();
EasyTracker.getInstance().activityStart(this);
}
私の onCreate() メソッドで実行されているコードから IllegalStateException get がスローされます。これはもちろん onStart() の前に実行されます。なぜこれがスローされるのか理解できます。
onStart() ではなく、onCreate() 内で EasyTracker の初期化を移動することを考えています。
これを行うべきではない理由はありますか?EasyTracker をより信頼できるようにセットアップする方法に関する提案はありますか (アクティビティのライフサイクルに関して?)
または、EasyTracker を使用する前に確実に初期化する方法について何か良い提案があれば (これにより FC が発生します。これは明らかに悪いことです。