I'm trying to start a 1 minute alarm from a dialog box. This is my dialog method (with AlarmManager and everything):
public void Dialog2(){
new AlertDialog.Builder(context)
.setTitle("Email!")
.setMessage("Would You Like to Set a 1 Minute Reminder?\nRemember to Email Your Professor!")
.setPositiveButton("Set Alarm!", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
AlarmManager alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmReceiver.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
alarmMgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() +
60 * 1000, alarmIntent);
}
})
.setNegativeButton("Cancel!", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.show();
}
This is my AlarmReceiver Class:
public class AlarmReceiver extends WakefulBroadcastReceiver{
@Override
public void onReceive(final Context context, Intent intent) {
Toast.makeText(context, "Don't Forget To Email Your Teacher!.",
Toast.LENGTH_LONG).show();
Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(2000);
Uri alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
if (alarmUri == null) {
alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
}
Ringtone ringtone = RingtoneManager.getRingtone(context, alarmUri);
ringtone.play();
}
}
In my AndroidManifest, I've included:
<service android:enabled="true" android:name=".ServiceClass" />
<receiver android:name=".AlarmReceiver" />
This is my Service Class:
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
public class ServiceClass extends Service{
@Override
public void onCreate() {
super.onCreate();
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
}
}
Please help! Thanks in advance!!