I was also considering a service for my app, but reading this thread i have second thoughts... Basically, all i want is a function to be called at a preset time (every day). What's the recommended way of doing this without a service?
Thanks, Teo On Aug 4, 2:09 am, Mark Murphy <mmur...@commonsware.com> wrote: > R Ravichandran wrote: > > Thanks Mark. Actually the code I posted missed out the 'onStart' method > > details that I actually tried. Here is the actual 'onStart' method of > > the MyService class I used where I create the thread and starting it. > > > @Override > > public void onStart(Intent intent, int startId) { > > System.out.println ("MyService ))))))))))))))))))))))))))"); > > super.onStart(intent, startId); > > Thread t = new Thread(this); > > t.start(); > > } > > > I modified the run method I put some System.out. statement inside a > > while(true) loop. The idea was to keep this service running as long as > > the device is on. But it looks like the system is sending a SIG 9 to > > kill the process (process id 697) for the 'service'. Here is the logcat > > lines that I see. > > > D/installd( 557): DexInv: --- BEGIN '/data/app/vmdl51510.tmp' --- > > I/System.out( 697): =====>: inside the run method....Count = 49 > > I/System.out( 697): =====>: inside the run method....Count = 50 > > D/dalvikvm( 722): DexOpt: load 41ms, verify 52ms, opt 1ms > > D/installd( 557): DexInv: --- END '/data/app/vmdl51510.tmp' (success) --- > > D/PackageManager( 583): Services: com.bn.InStoreWifiConnectivityManager > > D/PackageManager( 583): Receivers: com.bn.InStoreWiFiServiceInitiator > > I/System.out( 697): =====>: inside the run method....Count = 51 > > I/installd( 557): move > > /data/dalvik-cache/d...@a...@vmdl51510....@classes.dex -> > > /data/dalvik-cache/d...@a...@com.bn....@classes.dex > > D/PackageManager( 583): New package installed in /data/app/com.bn.apk > > I/System.out( 697): =====>: inside the run method....Count = 52 > > D/AndroidRuntime( 708): Shutting down VM > > D/dalvikvm( 708): DestroyJavaVM waiting for non-daemon threads to exit > > D/dalvikvm( 708): DestroyJavaVM shutting VM down > > D/dalvikvm( 708): HeapWorker thread shutting down > > D/dalvikvm( 708): HeapWorker thread has shut down > > D/jdwp ( 708): JDWP shutting down net... > > D/dalvikvm( 708): VM cleaning up > > D/dalvikvm( 708): LinearAlloc 0x0 used 627404 of 4194304 (14%) > > D/ActivityManager( 583): Uninstalling process com.bn <http://com.bn> > > I/System.out( 697): =====>: inside the run method....Count = 53 > > D/ActivityManager( 583): Force removing process ProcessRecord{436ea918 > > 697:com.bn/10020 <http://com.bn/10020>} (com.bn/10020 <http://com.bn/10020>) > > W/ActivityManager( 583): Scheduling restart of crashed service > > com.mypackage/.MyService in 5000ms > > I/Process ( 583): Sending signal. PID: 697 SIG: 9 > > D/ActivityManager( 583): Received spurious death notification for > > thread android.os.binderpr...@436c0898 > > E/ActivityThread( 583): Failed to find provider info for > > android.server.checkin > > W/Checkin ( 583): Can't log event SYSTEM_SERVICE_LOOPING: > > java.lang.IllegalArgumentException: Unknown URL > > content://android.server.checkin/events > > > Looks the process Id 583 is the one that sends SIG 9. Any idea why this > > is happening? > > Possibly, it's because your service crashed: > > > W/ActivityManager( 583): Scheduling restart of crashed service > > com.mypackage/.MyService in 5000ms > > Usually, logcat will show a stack trace associated with service crashes. > > Bear in mind, though, that your process will be shut down for other > reasons as well, such as memory reclamation. Keeping a service running > all the time is an Android "code smell" -- while it is possible, and > there are occasions when it is the right design, it feels like the vast > majority of people try it when they don't need it. > > Consider using an AlarmManager to start your service on a periodic > basis, and have the service stopSelf() when the background thread is > done performing that cycle's worth of work. This will be more reliable > and, for reasonably long alarm periods, more efficient. > > -- > Mark Murphy (a Commons > Guy)http://commonsware.com|http://twitter.com/commonsguy > > _Beginning Android_ from Apress Now Available! --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---