Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to fire off alarm after every 30mins
    primarykey
    data
    text
    <p><strong>-</strong> Ya i know this question has been asked here before and their links are:</p> <p><a href="https://stackoverflow.com/questions/10039593/android-alarm-to-be-play-every-30-minutes-and-it-start-from-1230">Android: Alarm to be play every 30 minutes and it start from 12:30</a></p> <p><a href="https://stackoverflow.com/questions/3052149/using-alarmmanager-to-start-a-service-at-specific-time">Using Alarmmanager to start a service at specific time</a></p> <p><a href="https://stackoverflow.com/questions/10039593/android-alarm-to-be-play-every-30-minutes-and-it-start-from-1230/10039699#10039699">Android: Alarm to be play every 30 minutes and it start from 12:30</a></p> <p><strong>-</strong> Now in my case i want <strong>my application to be installed at any hour of the day</strong>, and then it <strong>start ringing every thirty minutes</strong>, but <strong>NOT from the time of its installation but in the order of the below example...</strong></p> <p><strong>Eg:</strong></p> <p><code>--&gt;</code> I installed the App at 11:15 am.</p> <p><code>--&gt;</code> Now as clock of my mobile struck 11:30am it should start ringing, then again at 12:00pm it should ring, then at 12:30pm and so on.....</p> <p><strong>-</strong> Now in my case <code>setRepeating</code> of <code>AlarmManager</code> is not firing, or even if firing its not working....</p> <p><strong>-</strong> I tried using <code>Threads within Service</code>, that worked, but made the whole process to heavy, almost non-functionable.</p> <p>Here is my code...........</p> <p><strong>TestService.java</strong> </p> <p>//Its the Service that keeps running.</p> <pre><code>import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.concurrent.TimeUnit; import android.app.AlarmManager; import android.app.PendingIntent; import android.app.Service; import android.content.Intent; import android.content.SharedPreferences; import android.media.MediaPlayer; import android.os.IBinder; import android.widget.Toast; public class TestService extends Service { /* * public static SharedPreferences myPrefs; public static * SharedPreferences.Editor prefsEditor; */ private PendingIntent pendingIntentFri; private boolean ENABLE; private boolean isDone = true; Intent myIntent; @Override public void onCreate() { // TODO Auto-generated method stub // Toast.makeText(this, "MyAlarmService.onCreate()", // Toast.LENGTH_LONG).show(); // Toast.makeText(this, "Test.onCreate()", Toast.LENGTH_LONG).show(); } @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub // Toast.makeText(this, "Test.onBind()", Toast.LENGTH_LONG).show(); return null; } @Override public void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); Toast.makeText(this, "Test.onDestroy()", Toast.LENGTH_LONG).show(); } @Override public void onStart(Intent intent, int startId) { System.out .println("I reached TEST SERVICE........................................................."); // TODO Auto-generated method stub super.onStart(intent, startId); // Toast.makeText(this, "Test.onStart()", Toast.LENGTH_LONG).show(); /* * Intent myIntent = new Intent(TestService.this, MyAlarmService.class); * pendingIntent = PendingIntent.getService(TestService.this, 0, * myIntent, 0); */ // myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE); ENABLE = ClockActivity.myPrefs.getBoolean("enable", false); System.out.println("ALARM SERVICE RECREATED WITH THE VALUE :::::: " + ENABLE); System.out .println("FROM TESTSERVICE..........................................:" + ENABLE); if (ENABLE) { System.out .println("FROM IF ENABLED BLOCK TESTSERVICE..........................................:" + ENABLE); startAlarm(); } else { System.out.println("FROM ELSE ITS NOT ENABLED: " + ENABLE); } } public void startAlarm() { // AlarmManager alarmManager = // (AlarmManager)getSystemService(ALARM_SERVICE); myIntent = new Intent(TestService.this, MyAlarmService.class); // pendingIntent = PendingIntent.getService(SettingsActivity.this, 0, // myIntent, 0); // Working for the Perfect Time... Calendar cur_cal = new GregorianCalendar(); cur_cal.setTimeInMillis(System.currentTimeMillis());// set the current // time and date for // this calendar final Calendar cal = new GregorianCalendar(); // cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR)); cal.set(Calendar.HOUR, cur_cal.get(Calendar.HOUR)); cal.set(Calendar.MINUTE, cur_cal.get(Calendar.MINUTE)); cal.set(Calendar.SECOND, cur_cal.get(Calendar.SECOND)); // cal.set(Calendar.MILLISECOND, cur_cal.get(Calendar.MILLISECOND)); cal.set(Calendar.DATE, Calendar.DATE); cal.set(Calendar.MONTH, Calendar.MONTH); Intent myIntentFri = new Intent(TestService.this, MyAlarmService.class); pendingIntentFri = PendingIntent.getService(TestService.this, 0, myIntentFri, 0); final AlarmManager alarmManagerFri = (AlarmManager) getSystemService(ALARM_SERVICE); // alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), // pendingIntent2); alarmManagerFri.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), (30 * 60) * 1000, pendingIntentFri);// for // 30 // minutes } @Override public boolean onUnbind(Intent intent) { // TODO Auto-generated method stub // Toast.makeText(this, "MyAlarmService.onUnbind()", // Toast.LENGTH_LONG).show(); return super.onUnbind(intent); } } </code></pre> <p><strong>MyAlarmService.java</strong></p> <p>// The file that holds the logic</p> <pre><code>import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import android.app.Service; import android.content.Intent; import android.content.SharedPreferences; import android.media.MediaPlayer; import android.os.IBinder; import android.os.SystemClock; import android.sax.EndTextElementListener; import android.widget.Toast; public class MyAlarmService extends Service { public static SharedPreferences myPrefs; public static SharedPreferences.Editor prefsEditor; private boolean SILENCE; @Override public void onCreate() { } @Override public IBinder onBind(Intent intent) { return null; } @Override public void onDestroy() { super.onDestroy(); } @Override public void onStart(Intent intent, int startId) { super.onStart(intent, startId); System.out .println("I AM IN MYALARMSERVICE.............................................."); Calendar ct = Calendar.getInstance(); ct.setTimeInMillis(System.currentTimeMillis()); int Hour = ct.get(Calendar.HOUR_OF_DAY); int Minute = ct.get(Calendar.MINUTE); System.out.println("Hour and Minute in Calender is: " + Hour + ":" + Minute); myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE); SILENCE = myPrefs.getBoolean("silence", false); int sHour = myPrefs.getInt("start_hour", 01); int sMinute = myPrefs.getInt("start_minute", 00); int eHour = myPrefs.getInt("end_hour", 02); int eMinute = myPrefs.getInt("end_minute", 00); System.out.println("======== SILENCE PERIOD =========="); System.out.println("The Start Time is: " + sHour + ":" + sMinute); System.out.println("The END Time is: " + eHour + ":" + eMinute); System.out.println("=================================="); Calendar currentTime = new GregorianCalendar(); // currentTime.set(Calendar.HOUR_OF_DAY, Calendar.HOUR_OF_DAY); // currentTime.set(Calendar.MINUTE, Calendar.MINUTE); // currentTime.set(Calendar.SECOND, Calendar.SECOND); // currentTime.set(Calendar.DATE, Calendar.DATE); // currentTime.set(Calendar.MONTH, Calendar.MONTH); Calendar start_time = new GregorianCalendar(); start_time.set(Calendar.HOUR_OF_DAY, sHour); start_time.set(Calendar.MINUTE, sMinute); // start_time.set(Calendar.SECOND, Calendar.SECOND); // start_time.set(Calendar.DATE, Calendar.DATE); // start_time.set(Calendar.MONTH, Calendar.MONTH); Calendar end_time = new GregorianCalendar(); end_time.set(Calendar.HOUR_OF_DAY, eHour); end_time.set(Calendar.MINUTE, eMinute); // if((sHour&gt;eHour)){ // if the Start == PM and End == AM // System.out.println("Day is increase. . . ."); // end_time.add(Calendar.DATE, 1); // // end_time.set(Calendar.SECOND, Calendar.SECOND); // // end_time.set(Calendar.DATE, Calendar.DATE); // // end_time.set(Calendar.MONTH, Calendar.MONTH); // }else{ // if the Start == PM and End == AM // // System.out.println("Day is same. . . ."); // // // end_time.set(Calendar.SECOND, Calendar.SECOND); // // end_time.set(Calendar.DATE, Calendar.DATE); // // end_time.set(Calendar.MONTH, Calendar.MONTH); // } System.out .println("=============== CURRENT TIME DETAIL ==============="); System.out.println("CURRENT TIME: " + currentTime.getTime()); System.out .println("CURRENT DATE: " + currentTime.getTime().getDate()); System.out.println("CURRENT HOUR: " + currentTime.getTime().getHours()); System.out .println("==================================================="); System.out.println(""); System.out.println(""); System.out.println("=============== START TIME DETAIL ==============="); System.out.println("START DATE: " + start_time.getTime().getDate()); System.out.println("START TIME: " + start_time.getTime()); System.out.println("START HOUR: " + start_time.getTime().getHours()); System.out .println("==================================================="); System.out.println(""); System.out.println(""); System.out.println("=============== END TIME DETAIL ==============="); System.out.println("END TIME: " + end_time.getTime()); System.out.println("END DATE: " + end_time.getTime().getDate()); System.out.println("END HOUR: " + end_time.getTime().getHours()); System.out .println("==================================================="); System.out.println(""); System.out.println(""); System.out.println(start_time.getTimeInMillis() + " &lt; " + System.currentTimeMillis() + " &amp;&amp; " + System.currentTimeMillis() + " &gt; " + end_time.getTimeInMillis()); if (!SILENCE) { System.out.println("SILENCE in if is :" + SILENCE); fireAlarm(Hour, Minute); } else { System.out.println("SILENCE in else is: " + SILENCE); if (sHour &gt; eHour) { // FOR START == PM and END == AM System.out.println("FOR start=PM AND end=AM"); if (((((start_time.getTimeInMillis() &lt;= System .currentTimeMillis())) || ((System.currentTimeMillis() &lt;= (end_time .getTimeInMillis()) + ((3 * 60) * 1000)))))) { System.out.println("You are in Silent mode"); Toast.makeText(getApplicationContext(), "Ship's Clock is Silent", Toast.LENGTH_SHORT) .show(); } else { fireAlarm(Hour, Minute); } } else { // FOR START == AM/PM and END == AM/PM System.out.println("FOR start=AM/PM AND end=AM/PM"); if (((((start_time.getTimeInMillis() &lt;= System .currentTimeMillis())) &amp;&amp; ((System.currentTimeMillis() &lt;= (end_time .getTimeInMillis()) + ((3 * 60) * 1000)))))) { System.out.println("You are in Silent mode"); Toast.makeText(getApplicationContext(), "Ship's Clock is Silent", Toast.LENGTH_SHORT) .show(); } else { fireAlarm(Hour, Minute); } } } } public void fireAlarm(int Hour, int Minute) { // if(Hour&gt;12){ // Toast.makeText(getApplicationContext(), // "Please Set the More the 12 Hour", Toast.LENGTH_SHORT).show(); // } // 12:30 if ((Hour == 12) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("ONE Bell"); playSound(R.raw.one_bell); } // 01:00 if ((Hour == 1) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("TWO Bell"); playSound(R.raw.two_bells); } // 01:30 if ((Hour == 1) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("THREE Bell"); playSound(R.raw.three_bells); } // 02:00 if ((Hour == 2) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("FOUR Bell"); playSound(R.raw.four_bells); } // 02:30 if ((Hour == 2) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("FIVE Bell"); playSound(R.raw.five_bells); } // 03:00 if ((Hour == 3) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("SIX Bell"); playSound(R.raw.six_bells); } // 03:30 if ((Hour == 3) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("SEVEN Bell"); playSound(R.raw.seven_bells); } // 04:00 if ((Hour == 4) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("EIGHT Bell"); playSound(R.raw.eight_bells); } // 04:30 if ((Hour == 4) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("ONE Bell"); playSound(R.raw.one_bell); } // 05:00 if ((Hour == 5) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("TWO Bell"); playSound(R.raw.two_bells); } // 05:30 if ((Hour == 5) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("THREE Bell"); playSound(R.raw.three_bells); } // 06:00 if ((Hour == 6) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("FOUR Bell"); playSound(R.raw.four_bells); } // 06:30 if ((Hour == 6) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("FIVE Bell"); playSound(R.raw.five_bells); } // 07:00 if ((Hour == 7) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("SIX Bell"); playSound(R.raw.six_bells); } // 07:30 if ((Hour == 7) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("SEVEN Bell"); playSound(R.raw.seven_bells); } // 08:00 if ((Hour == 8) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("EIGHT Bell"); playSound(R.raw.eight_bells); } // 08:30 if ((Hour == 8) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("ONE Bell"); playSound(R.raw.one_bell); } // 09:00 if ((Hour == 9) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("TWO Bell"); playSound(R.raw.two_bells); } // 09:30 if ((Hour == 9) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("THREE Bell"); playSound(R.raw.three_bells); } // 10:00 if ((Hour == 10) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("FOUR Bell"); playSound(R.raw.four_bells); } // 10:30 if ((Hour == 10) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("FIVE Bell"); playSound(R.raw.five_bells); } // 11:00 if ((Hour == 11) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("SIX Bell"); playSound(R.raw.six_bells); } // 11:30 if ((Hour == 11) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("SEVEN Bell"); playSound(R.raw.seven_bells); } // 12:00 if ((Hour == 12) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Eight Bell"); playSound(R.raw.eight_bells); } // 00:00 if ((Hour == 00) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Eight Bell"); playSound(R.raw.eight_bells); } // 00:30 if ((Hour == 00) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("One Bell"); playSound(R.raw.one_bell); } // //////////////////// FOR 24 HOUR // 13:00 if ((Hour == 13) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Two Bell"); playSound(R.raw.two_bells); } // 13:30 if ((Hour == 13) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Three Bell"); playSound(R.raw.three_bells); } // 14:00 if ((Hour == 14) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Four Bell"); playSound(R.raw.four_bells); } // 14:30 if ((Hour == 14) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Five Bell"); playSound(R.raw.five_bells); } // 15:00 if ((Hour == 15) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Six Bell"); playSound(R.raw.six_bells); } // 15:30 if ((Hour == 15) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Seven Bell"); playSound(R.raw.seven_bells); } // 16:00 if ((Hour == 16) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Eight Bell"); playSound(R.raw.eight_bells); } // 16:30 if ((Hour == 16) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("One Bell"); playSound(R.raw.one_bell); } // 17:00 if ((Hour == 17) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Two Bell"); playSound(R.raw.two_bells); } // 17:30 if ((Hour == 17) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Three Bell"); playSound(R.raw.three_bells); } // 18:00 if ((Hour == 18) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Four Bell"); playSound(R.raw.four_bells); } // 18:30 if ((Hour == 18) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Five Bell"); playSound(R.raw.five_bells); } // 19:00 if ((Hour == 19) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Six Bell"); playSound(R.raw.six_bells); } // 19:30 if ((Hour == 19) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Seven Bell"); playSound(R.raw.seven_bells); } // 20:00 if ((Hour == 20) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Eight Bell"); playSound(R.raw.eight_bells); } // 20:30 if ((Hour == 20) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("One Bell"); playSound(R.raw.one_bell); } // 21:00 if ((Hour == 21) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("two Bell"); playSound(R.raw.two_bells); } // 21:30 if ((Hour == 21) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Three Bell"); playSound(R.raw.three_bells); } // 22:00 if ((Hour == 22) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Four Bell"); playSound(R.raw.four_bells); } // 22:30 if ((Hour == 22) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Five Bell"); playSound(R.raw.five_bells); } // 23:00 if ((Hour == 23) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Six Bell"); playSound(R.raw.six_bells); } // 23:30 if ((Hour == 23) &amp;&amp; (Minute == 30)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Seven Bell"); playSound(R.raw.seven_bells); } // 24:00 if ((Hour == 24) &amp;&amp; (Minute == 00)) { System.out.println("The Time is: " + Hour + " : " + Minute); System.out.println("Eight Bell"); playSound(R.raw.eight_bells); } } @Override public boolean onUnbind(Intent intent) { // TODO Auto-generated method stub // Toast.makeText(this, "MyAlarmService.onUnbind()", // Toast.LENGTH_LONG).show(); return super.onUnbind(intent); } public void playSound(int resources) { MediaPlayer mp = MediaPlayer.create(getApplicationContext(), resources); mp.start(); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload