0% found this document useful (0 votes)
42 views

Main - Java Public Class Extends: 1 @override

This Java program demonstrates how to cancel an alarm intent in Android. The MainActivity class contains buttons to start and cancel an alarm. When the start button is clicked, it sets a repeating alarm that triggers a service every 20 seconds. When the cancel button is clicked, it cancels this repeating alarm. The MyService class defines the service that is started by the alarm.

Uploaded by

Jonathan B. Paga
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views

Main - Java Public Class Extends: 1 @override

This Java program demonstrates how to cancel an alarm intent in Android. The MainActivity class contains buttons to start and cancel an alarm. When the start button is clicked, it sets a repeating alarm that triggers a service every 20 seconds. When the cancel button is clicked, it cancels this repeating alarm. The MyService class defines the service that is started by the alarm.

Uploaded by

Jonathan B. Paga
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Main.

java
public class MainActivity extends Activity {

TimePicker myTimePicker;
Button buttonstartSetDialog;
TextView textAlarmPrompt;
TimePickerDialog timePickerDialog;

final static int RQS_1 = 1;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textAlarmPrompt = (TextView) findViewById(R.id.alarmprompt);

buttonstartSetDialog = (Button) findViewById(R.id.startAlaram);


buttonstartSetDialog.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
textAlarmPrompt.setText("");
openTimePickerDialog(false);

}
});

private void openTimePickerDialog(boolean is24r) {


Calendar calendar = Calendar.getInstance();

timePickerDialog = new TimePickerDialog(MainActivity.this,


onTimeSetListener, calendar.get(Calendar.HOUR_OF_DAY),
calendar.get(Calendar.MINUTE), is24r);
timePickerDialog.setTitle("Set Alarm Time");

timePickerDialog.show();

OnTimeSetListener onTimeSetListener = new OnTimeSetListener() {

@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

Calendar calNow = Calendar.getInstance();


Calendar calSet = (Calendar) calNow.clone();

calSet.set(Calendar.HOUR_OF_DAY, hourOfDay);
calSet.set(Calendar.MINUTE, minute);
calSet.set(Calendar.SECOND, 0);
calSet.set(Calendar.MILLISECOND, 0);

if (calSet.compareTo(calNow) <= 0) {
// Today Set time passed, count to tomorrow
calSet.add(Calendar.DATE, 1);
}

setAlarm(calSet);
}
};

private void setAlarm(Calendar targetCal) {

textAlarmPrompt.setText("\n\n***\n" + "Alarm is set "


+ targetCal.getTime() + "\n" + "***\n");

Intent intent = new Intent(getBaseContext(), AlarmReceiver.class);


PendingIntent pendingIntent = PendingIntent.getBroadcast(
getBaseContext(), RQS_1, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(),
pendingIntent);

}
}

Reciver.java

public class AlarmReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context k1, Intent k2) {
// TODO Auto-generated method stub
Toast.makeText(k1, "Alarm received!", Toast.LENGTH_LONG).show();

main_activity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp" >

<Button
android:id="@+id/startAlaram"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Set Alaram Time" />

<TextView
android:id="@+id/alarmprompt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000" />

</LinearLayout>
Manifest.xml

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />


</intent-filter>
</activity>
<receiver android:name=".AlarmReceiver" android:process=":remote" />
</application>

Java Android Program to Cancel an Alarm Intent


Here is source code of the Program to Cancel an Alarm Intent in Android. The program is
successfully compiled and run on a Windows system using Eclipse Ide. The program output is also
shown below.
MainActivity.java
package com.example.cancel_alarm_intent;

import java.util.Calendar;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button start = (Button) findViewById(R.id.button1);
Button end = (Button) findViewById(R.id.button2);
start.setOnClickListener(this);
end.setOnClickListener(this);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(this, MyService.class);
startService(new Intent(this, MyService.class));
Calendar cal = Calendar.getInstance();
PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0);

AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

switch (v.getId()) {

case R.id.button1:
// Start service every 20 seconds
Toast.makeText(getApplicationContext(), "Alarm Evoked",
Toast.LENGTH_LONG).show();
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
20 * 1000, pintent);

break;
case R.id.button2:
Toast.makeText(getApplicationContext(), "Alarm Canceled",
Toast.LENGTH_LONG).show();
alarm.cancel(pintent);
break;
default:
break;
}
}

MyService.java
package com.example.cancel_alarm_intent;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
import android.widget.Toast;
public class MyService extends Service {

@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}

@Override
public void onCreate() {
Toast.makeText(this, " MyService Created ", Toast.LENGTH_LONG).show();
}

@Override
public void onStart(Intent intent, int startId) {
Toast.makeText(this, " MyService Started", Toast.LENGTH_LONG).show();
}

@Override
public void onDestroy() {
// TODO Auto-generated method stub
Toast.makeText(this, "Servics Stopped", Toast.LENGTH_SHORT).show();
super.onDestroy();
}

Activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginTop="71dp"
android:text="Start Stop Alarm Intent"
android:textAppearance="?android:attr/textAppearanceLarge" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="108dp"
android:text="Start" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_alignRight="@+id/textView1"
android:text="Cancel" />

</RelativeLayout>

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.cancel_alarm_intent"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.cancel_alarm_intent.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />


</intent-filter>
</activity>

<service
android:name=".MyService"
android:enabled="true" />
</application>

</manifest>

You might also like