Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Main.Java:
- package alarm.starter;
- import java.util.Calendar;
- import android.os.Bundle;
- import android.app.Activity;
- import android.app.AlarmManager;
- import android.app.PendingIntent;
- import android.content.Intent;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.Toast;
- import android.support.v4.app.NavUtils;
- public class Main extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- public void setAlarm(View view) {
- //Create an offset from the current time in which the alarm will go off.
- Calendar cal = Calendar.getInstance();
- cal.add(Calendar.SECOND, 5);
- //Create a new PendingIntent and add it to the AlarmManager
- Intent intent = new Intent(this, AlarmReceiverActivity.class);
- intent.setAction("alarm.starter.AlarmReceiverActivity");
- PendingIntent pendingIntent = PendingIntent.getActivity(this,
- 12345, intent, PendingIntent.FLAG_CANCEL_CURRENT);
- AlarmManager am =
- (AlarmManager)getSystemService(Activity.ALARM_SERVICE);
- am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
- pendingIntent);
- Toast.makeText(
- this /* context */,
- "Neuer Alarm erstellt in 10 Sekunden!",
- Toast.LENGTH_LONG).show();
- }
- }
- //AlarmReceiverActivity.java:
- package alarm.starter;
- import java.io.IOException;
- import android.app.Activity;
- import android.app.Application;
- import android.app.Notification;
- import android.app.NotificationManager;
- import android.app.PendingIntent;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.media.AudioManager;
- import android.media.MediaPlayer;
- import android.media.RingtoneManager;
- import android.net.Uri;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnTouchListener;
- import android.view.Window;
- import android.view.WindowManager;
- import android.widget.Button;
- import android.widget.Toast;
- public class AlarmReceiverActivity extends Activity {
- private MediaPlayer mMediaPlayer;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- this.requestWindowFeature(Window.FEATURE_NO_TITLE);
- this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
- setContentView(R.layout.alarm);
- Button stopAlarm = (Button) findViewById(R.id.stopAlarm);
- stopAlarm.setOnClickListener(new Button.OnClickListener() {
- public void onClick(View v)
- {
- mMediaPlayer.stop();
- finish(); }
- });
- playSound(this, getAlarmUri());
- }
- private void playSound(Context context, Uri alert) {
- mMediaPlayer = new MediaPlayer();
- try {
- mMediaPlayer.setDataSource(context, alert);
- final AudioManager audioManager = (AudioManager) context
- .getSystemService(Context.AUDIO_SERVICE);
- if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) {
- mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
- mMediaPlayer.prepare();
- mMediaPlayer.start();
- }
- } catch (IOException e) {
- System.out.println("OOPS");
- }
- }
- //Get an alarm sound. Try for an alarm. If none set, try notification,
- //Otherwise, ringtone.
- private Uri getAlarmUri() {
- Uri alert = RingtoneManager
- .getDefaultUri(RingtoneManager.TYPE_ALARM);
- if (alert == null) {
- alert = RingtoneManager
- .getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
- if (alert == null) {
- alert = RingtoneManager
- .getDefaultUri(RingtoneManager.TYPE_RINGTONE);
- }
- }
- return alert;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement