我认为我在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或什么?
答案 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类工作不正常。