Search code examples
androidintentfilter

Broadcastreceiver intent filters


Which intent filter should I use in a broadcast receiver when I want that a service is running every 5 minutes, without the need of a reboot?


Solution

  • An example of using AlarmManager

    set alarm

    private void setAlarm(Context ctx, long timeToRestoreLivesInMillis) {
            int perion = 1000;
            AlarmManager am = (AlarmManager)ctx.getSystemService(Context.ALARM_SERVICE);
    
            Intent i = new Intent(ctx, OnAlarmReceiver.class);
            PendingIntent pi = PendingIntent.getBroadcast(ctx, 0, i, 0);
    
            am.set(AlarmManager.RTC_WAKEUP, period, pi);
    }
    

    and some receiver which will receive an Intent

    public class OnAlarmReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            // do something
        }
    }
    

    and don't forget to register receiver in Manifest.xml

    <receiver
        android:name=".utils.OnAlarmReceiver"
        android:enabled="true"
        android:exported="false" >
    </receiver>
    

    read docs for methods explanation, I have worked with it long time ago.