Skip to content

Instantly share code, notes, and snippets.

@deanpanayotov
Last active October 27, 2015 13:04
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save deanpanayotov/8867691 to your computer and use it in GitHub Desktop.
Save deanpanayotov/8867691 to your computer and use it in GitHub Desktop.
Basic example. The dialog is actually an activity with theme set to "@android:style/Theme.Dialog". Pressing the snooze button will trigger the dialog again after an amount of time.
<activity
android:name="com.example.test.MainActivity$TriggeredActivity"
android:theme="@android:style/Theme.Dialog"
android:taskAffinity="" >
</activity>
public static final void setAlarm(int seconds, AlarmManager alarmManager,
Context context) {
// create the pending intent
Intent intent = new Intent(context, TriggeredActivity.class);
// intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
intent, PendingIntent.FLAG_ONE_SHOT);
// get the alarm manager, and scedule an alarm that triggers my
// activity
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()
+ seconds * 1000, pendingIntent);
Toast.makeText(context, "Timer set to " + seconds + " seconds.",
Toast.LENGTH_SHORT).show();
}
public static class TriggeredActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.dialog);
Button dismiss = (Button) findViewById(R.id.dismiss);
Button snooze = (Button) findViewById(R.id.snooze);
final Context context = this;
dismiss.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
snooze.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setAlarm(4, ((AlarmManager) getSystemService(ALARM_SERVICE)), context);
finish();
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment