roboguice.service
Class RoboService

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

public abstract class RoboService
extends android.app.Service
implements RoboContext

A RoboService extends from Service to provide dynamic injection of collaborators, using Google Guice.

Your own services that usually extend from Service should now extend from RoboService.

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 ( RoboService), 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 ContextSingleton scoped beans until onCreate() is called.

Author:
Mike Burton, Christine Karman

Field Summary
protected  EventManager eventManager
           
protected  HashMap<com.google.inject.Key<?>,Object> scopedObjects
           
 
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
RoboService()
           
 
Method Summary
 Map<com.google.inject.Key<?>,Object> getScopedObjectMap()
           
 void onConfigurationChanged(android.content.res.Configuration newConfig)
           
 void onCreate()
           
 void onDestroy()
           
 int onStartCommand(android.content.Intent intent, int flags, int startId)
           
 
Methods inherited from class android.app.Service
dump, finalize, getApplication, onBind, onLowMemory, onRebind, onStart, 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

scopedObjects

protected HashMap<com.google.inject.Key<?>,Object> scopedObjects
Constructor Detail

RoboService

public RoboService()
Method Detail

onCreate

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

onStartCommand

public int onStartCommand(android.content.Intent intent,
                          int flags,
                          int startId)
Overrides:
onStartCommand in class android.app.Service

onDestroy

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

onConfigurationChanged

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

getScopedObjectMap

public Map<com.google.inject.Key<?>,Object> getScopedObjectMap()
Specified by:
getScopedObjectMap in interface RoboContext


Copyright © 2013. All Rights Reserved.