【发布时间】:2016-06-30 18:21:02
【问题描述】:
我认为我的 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 或其他什么?
【问题讨论】:
-
你能显示你的 AndroidManifest 文件的扩展剪切吗?在清单中看到 2 个
标记很奇怪。可能这是您问题的关键。 -
那么我该如何声明 Analytics 应用程序?我想我需要声明主应用程序(我正在开发的应用程序)和分析应用程序
标签: android eclipse google-analytics