I have an activity and a service.  When the Activity first starts up I 
create an Intent for the service and call StartService(i).  This properly 
starts up the service triggering the services' onCreate event and 
onStartCommand events.
 
Subsequent to that there are times when I want to pass the service some 
information so, using the same Intent I add some data to a bundle using 
i.putextra and call StartService(i) again.  To my surprise the onCreate 
event of the service executes again!!  I would expect that only the 
onStartCommand would execute on subsequent StartService(i) calls.  The 
service was indeed still running when the call was made.
 
Is my expectation correct?  Why is onCreate executing again in the service?
 
//this is code from the Activity...
public void onCreate(Bundle savedInstanceState) {
.
.
.
i = new Intent(this, StalkService.class);
if (isMyServiceRunning())
{
 i.putExtra("mode", "feedmethewholetrip");
 this.startService(i);
}
else
{
 i.putExtra("MESSENGER", messenger);
 this.startService(i);
}

   private boolean isMyServiceRunning() {
     String sClassName;
        ActivityManager manager = (ActivityManager) 
getSystemService(Context.ACTIVITY_SERVICE);
        for (RunningServiceInfo service : 
manager.getRunningServices(Integer.MAX_VALUE)) 
        {
            sClassName = service.service.getClassName();
            Log.w(getClass().getName(), "Services are : " + sClassName);
            if (sClassName.contains("com.deanblakely.StalkService")) {
                return true;
            }
        }
        return false;
    }

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to