Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
 
  • Set Alarm Using TimePicker in Android

    • 0
    • 0
    • 0
    • 0
    • 3
    • 0
    • 0
    • 0
    • 7.71k
    Comment on it

    This tutorial will help you in creating an android application to set alarm using TimePicker. This is a basic android tutorial which will make you familiar with Intents , Pending Intents and BroadcastReceiver.

    Step 1: Create an android Project Name TimeActivity

    Step 2: Create main the layout file activity_main.xml

    Step 3:Set Button,TimePicker and TextView

    Step 4:Then SetAlarm by creating the pending intent

    Step 5:Create the BroadcastReceiver to recive and set the Ringtone

    step 6: Set user permissions in manifest file

    First create the layout file set buttons and textview..

    then create the mainactivity .

    Sample code::

    1. package com.example.timeactivity;
    2.  
    3. import java.util.Calendar;
    4.  
    5. import android.app.Activity;
    6. import android.app.AlarmManager;
    7. import android.app.PendingIntent;
    8. import android.app.TimePickerDialog;
    9. import android.app.TimePickerDialog.OnTimeSetListener;
    10. import android.content.Context;
    11. import android.content.Intent;
    12. import android.os.Bundle;
    13. import android.view.View;
    14. import android.view.View.OnClickListener;
    15. import android.widget.Button;
    16. import android.widget.TextView;
    17. import android.widget.TimePicker;
    18.  
    19. public class MainActivity extends Activity {
    20.  
    21. TimePicker myTimePicker;
    22. Button buttonstartSetDialog;
    23. TextView textAlarmPrompt;
    24.  
    25. TimePickerDialog timePickerDialog;
    26.  
    27. final static int RQS_1 = 1;
    28.  
    29.  
    30. @Override
    31. public void onCreate(Bundle savedInstanceState) {
    32. super.onCreate(savedInstanceState);
    33. setContentView(R.layout.activity_main);
    34. startActivity(new Intent(MainActivity.this,Ringtones.class));
    35.  
    36. textAlarmPrompt = (TextView)findViewById(R.id.alarmprompt);
    37.  
    38. buttonstartSetDialog = (Button)findViewById(R.id.startSetDialog);
    39. buttonstartSetDialog.setOnClickListener(new OnClickListener(){
    40.  
    41. @Override
    42. public void onClick(View v) {
    43. textAlarmPrompt.setText("");
    44. openTimePickerDialog(false);
    45.  
    46. }});
    47.  
    48. }
    49.  
    50.  
    51. private void openTimePickerDialog(boolean is24r){
    52. Calendar calendar = Calendar.getInstance();
    53.  
    54. timePickerDialog = new TimePickerDialog(
    55. MainActivity.this,
    56. onTimeSetListener,
    57. calendar.get(Calendar.HOUR_OF_DAY),
    58. calendar.get(Calendar.MINUTE),
    59. is24r);
    60. timePickerDialog.setTitle("Set Alarm Time");
    61.  
    62. timePickerDialog.show();
    63.  
    64. }
    65.  
    66. OnTimeSetListener onTimeSetListener
    67. = new OnTimeSetListener(){
    68.  
    69. @Override
    70. public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
    71.  
    72. Calendar calNow = Calendar.getInstance();
    73. Calendar calSet = (Calendar) calNow.clone();
    74.  
    75. calSet.set(Calendar.HOUR_OF_DAY, hourOfDay);
    76. calSet.set(Calendar.MINUTE, minute);
    77. calSet.set(Calendar.SECOND, 0);
    78. calSet.set(Calendar.MILLISECOND, 0);
    79.  
    80. if(calSet.compareTo(calNow) <= 0){
    81.  
    82. calSet.add(Calendar.DATE, 1);
    83. }
    84.  
    85. setAlarm(calSet);
    86. }};
    87.  
    88. private void setAlarm(Calendar targetCal){
    89.  
    90. textAlarmPrompt.setText(
    91. "\n\n\n"
    92. + "AlarmSet " + targetCal.getTime() + "\n"
    93. + "\n");
    94.  
    95. Intent intent = new Intent(getBaseContext(), AlarmReceiver.class);
    96. PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), RQS_1, intent, 0);
    97. AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    98. alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), pendingIntent);
    99.  
    100. }
    101.  
    102. }

    Then create the AlarmReceiver extending BroadcastReceiver.

    1. import android.content.BroadcastReceiver;
    2. import android.content.Context;
    3. import android.content.Intent;
    4. import android.media.Ringtone;
    5. import android.media.RingtoneManager;
    6. import android.net.Uri;
    7. import android.os.Vibrator;
    8. import android.widget.Toast;
    9.  
    10. public class AlarmReceiver extends BroadcastReceiver {
    11.  
    12. @Override
    13. public void onReceive(Context context, Intent arg1) {
    14. Toast.makeText(context, "Alarm received!", Toast.LENGTH_LONG).show();
    15.  
    16. Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
    17. Ringtone r = RingtoneManager.getRingtone(context, notification);
    18. r.play();
    19.  
    20. Vibrator vibrator = (Vibrator)context
    21. .getSystemService(Context.VIBRATOR_SERVICE);
    22. vibrator.vibrate(5000);
    23. }
    24.  
    25. }

 3 Comment(s)

Sign In
                           OR                           
                           OR                           
Register

Sign up using

                           OR                           
Forgot Password
Reset Password
Fill out the form below and reset your password: