Skip to content
This repository has been archived by the owner on Feb 26, 2023. It is now read-only.

SystemServices

Csaba Kozák edited this page Mar 16, 2016 · 9 revisions

Since AndroidAnnotations 1.0

Standard Android System Service injection

Retrieving Android System Services requires remembering the name of the constant, and casting the retrieved object.

notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

@SystemService

The @SystemService annotation indicates that an activity field should be injected with the corresponding Android System service.

It is the same as calling the Context.getSystemService() method.

Usage example:

@EActivity
public class MyActivity extends Activity {

  @SystemService
  NotificationManager notificationManager;

}

Method based injection

Since AndroidAnnotations 4.0.0

@EActivity
public class MyActivity extends Activity {

  @SystemService
  void setNotificationManager(NotificationManager notificationManager){
    // do something with notificationManager
  }
  
  void setMultipleServices(@SystemService NotificationManager notificationManager, @SystemService AudioManager audioManager){
    // do something with notificationManager and audioManager
  }

}

Using AndroidAnnotations

Questions?

Enjoying AndroidAnnotations

Improving AndroidAnnotations

Extending AndroidAnnotations

Clone this wiki locally