在Eclipse中使用Google Analytics时无法投射课程

时间:2016-06-30 18:21:03

标签: android eclipse google-analytics

我认为我在Eclipse项目中拥有所有元素,但我仍然收到此错误:

  

java.lang.ClassCastException:无法转换android.app.Application   到cam.main.AnalyticsApplication

以下是AnalyticsApplication代码:

package cam.main;

public class AnalyticsApplication extends Application {

    private Tracker tracker;

    public AnalyticsApplication() {
        super();
    }

    synchronized public Tracker getDefaultTracker() {
        if (tracker == null) {
            GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
            tracker = analytics.newTracker(R.xml.analytics);
        }
        return tracker;
    }
}

这是清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cam.main"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="6"/>

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
        android:icon="@drawable/bot_img_1"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
        <activity            android:name="cam.main.SplashScreen"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <- other activities from the app ->

    </application>

    <application android:name="cam.main.AnalyticsApplication">
    </application>

</manifest>

我在启动活动(StartMenu)的OnCreate方法上有这段代码

AnalyticsApplication application = (AnalyticsApplication) getApplication();
Tracker mTracker = application.getDefaultTracker();

我不知道它是否重要,但我在同一个文件中有AnalyticsApplication和StartMenu。

是否需要在AnalyticsApplication中创建一个Activity或什么?

1 个答案:

答案 0 :(得分:1)

只需将android:name="cam.main.AnalyticsApplication"参数包含在现有的应用标记中,如下所示:

<application
    android:name="cam.main.AnalyticsApplication"
    android:icon="@drawable/bot_img_1"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
    <activity            android:name="cam.main.SplashScreen"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <- other activities from the app ->

</application>

由于第二个标记,您的自定义Application类工作不正常。