android-alarms
Samsung “App optimisation” feature kills background applications after 3 days
I’ve owned (and currently own) Samsung devices, so I know a little as to how it works from the user’s point of view. The technical specifications and how it works on the inside is an entirely separate issue, and one I can’t answer. The system can detect if you open an app. Samsung uses that … Read more
Running task periodicaly(once a day/once a week)
Yes it is, you need to look at the AlarmManager to setup a reoccurring “Alarm”. This is better for battery life on the device, as unlike a service it does not run constantly in the background. The Alarm triggers a broadcast receiver which will execute your custom code. As a final note – there are … Read more
Android Set Multiple Alarms
If you want to set multiple alarms (repeating or single), then you just need to create their PendingIntents with different requestCode. If requestCode is the same, then the new alarm will overwrite the old one. Here is the code to create multiple single alarms and keep them in ArrayList. I keep PendingIntent‘s in the array … Read more
does Alarm Manager persist even after reboot?
A simple answer would be NO. But yes you can achieve this by creating a BroadCastReceiver which will start the Alarm while booting completes of the device. Use <action android:name=”android.intent.action.BOOT_COMPLETED” /> for trapping boot activity in BroadCastReceiver class. You need to add above line in AndroidManifest.xml as follows, <receiver android:name=”.AutoStartUp” android:enabled=”true” android:exported=”false” android:permission=”android.permission.RECEIVE_BOOT_COMPLETED”> <intent-filter> <action … Read more
Android: How to use AlarmManager
“Some sample code” is not that easy when it comes to AlarmManager. Here is a snippet showing the setup of AlarmManager: AlarmManager mgr=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); Intent i=new Intent(context, OnAlarmReceiver.class); PendingIntent pi=PendingIntent.getBroadcast(context, 0, i, 0); mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), PERIOD, pi); In this example, I am using setRepeating(). If you want a one-shot alarm, you would just use set(). Be … Read more