目前我正在开发一个Android应用程序,该应用程序使用ContentProviders,SyncAdapter和AuthenticatorService作为基础,用于将应用程序数据与REST Api同步。我想将Dagger模块注入到应用程序和服务中。我创建了一个这样的应用程序类:
public class App extends Application {
private ObjectGraph objectGraph;
@Override
public void onCreate() {
super.onCreate();
this.objectGraph = ObjectGraph.create(
new DataModule()
);
}
public ObjectGraph getObjectGraph() {
return this.objectGraph;
}
}
在我的AuthenticatorActivity中,我想注入依赖项。我使用了以下代码:
((App) getApplication()).getObjectGraph().inject(this)
我收到的错误是:
Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to com.example.App
AuthenticatorActivity由我的AuthenticatorService打开,我在应用程序中内置了http://developer.android.com/training/sync-adapters/creating-authenticator.html
是否可以使用Dagger将依赖项注入服务?或者我是否需要使用其他代码来访问ObjectGraph?