N
newpageart
Neues Mitglied
- 0
Hallo Forumsgemeinde!
Ich bin gerade dabei eine Erinnerungsfunktion für meine App zu erstellen. Das Erinnern funktioniert bis jetzt auch ganz gut.Per AlarmManager wird ein Activity aufgerufen und dort wird eine Meldung angezeigt und der Klingelton gestartet. Zusätzlich gibt es noch einen button um den Alarm (Klingelton) abzuschalten.
Nun stellt sich mir aber die Frage was passiewrt wenn der benutzer nicht auf den "Stop"-Button drücjkt, sonder "Home"-Button oder "Zurück"-Button. Das Activity verschwindet und ich kann den Alarm nicht mehr stoppen
Wie verhindere ich das Home"-Button oder "Zurück"-Button gedrückt werden. Oder kann man den Klingelton beim drücken mit abschalten?
Viele Grüße,
Tom
Ich bin gerade dabei eine Erinnerungsfunktion für meine App zu erstellen. Das Erinnern funktioniert bis jetzt auch ganz gut.Per AlarmManager wird ein Activity aufgerufen und dort wird eine Meldung angezeigt und der Klingelton gestartet. Zusätzlich gibt es noch einen button um den Alarm (Klingelton) abzuschalten.
Nun stellt sich mir aber die Frage was passiewrt wenn der benutzer nicht auf den "Stop"-Button drücjkt, sonder "Home"-Button oder "Zurück"-Button. Das Activity verschwindet und ich kann den Alarm nicht mehr stoppen
Wie verhindere ich das Home"-Button oder "Zurück"-Button gedrückt werden. Oder kann man den Klingelton beim drücken mit abschalten?
Code:
public class MyScheduledActivity extends Activity {
private MediaPlayer mMediaPlayer;
private PowerManager.WakeLock wl;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_scheduledactivity);
Bundle extras = getIntent().getExtras();
TextView tvAlarm = (TextView) findViewById(R.id.tvAlarmText);
tvAlarm.setText(extras.getString("ReminderText"));
Button buttonDismiss = (Button)findViewById(R.id.dismiss);
buttonDismiss.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
mMediaPlayer.stop();
finish();
}});
playSound(getBaseContext(), getAlarmUri());
}
protected void onStop() {
super.onStop();
wl.release();
}
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) {
Log.v("OUT", "ERROR: "+e.toString());
}
}
private Uri getAlarmUri() {
Uri alert = RingtoneManager
.getDefaultUri(RingtoneManager.TYPE_ALARM);
return alert;
}
}
Viele Grüße,
Tom