FileDocCategorySizeDatePackage
LocalService.javaAPI DocGoogle Android v1.5 Example3345Sun Nov 11 13:01:04 GMT 2007com.google.android.samples.app

LocalService

public class LocalService extends android.app.Service
This is an example of implementing an application service that runs locally in the same process as the application. The {@link LocalServiceController} and {@link LocalServiceBinding} classes show how to interact with the service.

Notice the use of the {@link NotificationManager} when interesting things happen in the service. This is generally how background services should interact with the user, rather than doing something more disruptive such as calling startActivity().

Fields Summary
private final android.os.IBinder
mBinder
private android.app.NotificationManager
mNM
Constructors Summary
Methods Summary
public android.os.IBindergetBinder()

        return mBinder;
    
protected voidonCreate()

        mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

        // This is who should be launched if the user selects our persistent
        // notification.
        Intent intent = new Intent();
        intent.setClass(this, LocalServiceController.class);

        // Display a notification about us starting.  We use both a transient
        // notification and a persistent notification in the status bar.
        mNM.notifyWithText(R.string.local_service_started,
                   getText(R.string.local_service_started),
                   NotificationManager.LENGTH_SHORT,
                   new Notification(
                       R.drawable.stat_sample,
                       getText(R.string.local_service_label),
                       intent,
                       null,
                       null));
    
protected voidonDestroy()

        // Cancel the persistent notification.
        mNM.cancel(R.string.local_service_started);

        // Tell the user we stopped.
        mNM.notifyWithText(R.string.local_service_stopped,
                   getText(R.string.local_service_stopped),
                   NotificationManager.LENGTH_SHORT,
                   null);