roboguice.service
Class RoboIntentService

java.lang.Object
  extended by android.content.Context
      extended by android.content.ContextWrapper
          extended by android.app.Service
              extended by android.app.IntentService
                  extended by roboguice.service.RoboIntentService
All Implemented Interfaces:
android.content.ComponentCallbacks, InjectorProvider

public abstract class RoboIntentService
extends android.app.IntentService
implements InjectorProvider

A RoboIntentService extends from IntentService to provide dynamic injection of collaborators, using Google Guice.

Your own services that usually extend from IntentService should now extend from RoboIntentService.

If we didn't provide what you need, you have two options : either post an issue on the bug tracker, or implement it yourself. Have a look at the source code of this class ( RoboIntentService), you won't have to write that much changes. And of course, you are welcome to contribute and send your implementations to the RoboGuice project.

You can have access to the Guice Injector at any time, by calling getInjector().

However, you will not have access to Context scoped beans until onCreate() is called.

Author:
Donn Felker

Field Summary
protected  EventManager eventManager
           
protected  ContextScope scope
           
 
Fields inherited from class android.app.Service
START_CONTINUATION_MASK, START_FLAG_REDELIVERY, START_FLAG_RETRY, START_NOT_STICKY, START_REDELIVER_INTENT, START_STICKY, START_STICKY_COMPATIBILITY
 
Fields inherited from class android.content.Context
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ALARM_SERVICE, AUDIO_SERVICE, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, CLIPBOARD_SERVICE, CONNECTIVITY_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, INPUT_METHOD_SERVICE, KEYGUARD_SERVICE, LAYOUT_INFLATER_SERVICE, LOCATION_SERVICE, MODE_APPEND, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NOTIFICATION_SERVICE, POWER_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, TELEPHONY_SERVICE, VIBRATOR_SERVICE, WALLPAPER_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
 
Constructor Summary
RoboIntentService(String name)
           
 
Method Summary
 com.google.inject.Injector getInjector()
           
 void onConfigurationChanged(android.content.res.Configuration newConfig)
           
 void onCreate()
           
 void onDestroy()
           
 void onStart(android.content.Intent intent, int startId)
           
 
Methods inherited from class android.app.IntentService
onBind, onHandleIntent, onStartCommand, setIntentRedelivery
 
Methods inherited from class android.app.Service
dump, finalize, getApplication, onLowMemory, onRebind, onUnbind, setForeground, startForeground, stopForeground, stopSelf, stopSelf, stopSelfResult
 
Methods inherited from class android.content.ContextWrapper
attachBaseContext, bindService, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingPermission, checkCallingUriPermission, checkPermission, checkUriPermission, checkUriPermission, clearWallpaper, createPackageContext, databaseList, deleteDatabase, deleteFile, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAssets, getBaseContext, getCacheDir, getClassLoader, getContentResolver, getDatabasePath, getDir, getFilesDir, getFileStreamPath, getMainLooper, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getResources, getSharedPreferences, getSystemService, getTheme, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isRestricted, openFileInput, openFileOutput, openOrCreateDatabase, peekWallpaper, registerReceiver, registerReceiver, removeStickyBroadcast, revokeUriPermission, sendBroadcast, sendBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendStickyBroadcast, sendStickyOrderedBroadcast, setTheme, setWallpaper, setWallpaper, startActivity, startInstrumentation, startIntentSender, startService, stopService, unbindService, unregisterReceiver
 
Methods inherited from class android.content.Context
getString, getString, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

eventManager

protected EventManager eventManager

scope

protected ContextScope scope
Constructor Detail

RoboIntentService

public RoboIntentService(String name)
Method Detail

onCreate

public void onCreate()
Overrides:
onCreate in class android.app.IntentService

onStart

public void onStart(android.content.Intent intent,
                    int startId)
Overrides:
onStart in class android.app.IntentService

onDestroy

public void onDestroy()
Overrides:
onDestroy in class android.app.IntentService

onConfigurationChanged

public void onConfigurationChanged(android.content.res.Configuration newConfig)
Specified by:
onConfigurationChanged in interface android.content.ComponentCallbacks
Overrides:
onConfigurationChanged in class android.app.Service

getInjector

public com.google.inject.Injector getInjector()
Specified by:
getInjector in interface InjectorProvider
See Also:
RoboApplication.getInjector()


Copyright © 2011. All Rights Reserved.