【实例简介】闹钟的小栗子,只能设置一个,后面的会取代前面的
【实例截图】
【核心代码】
package com.dindy.memo;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.AlertDialog;
import android.app.PendingIntent;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class alarmActivity extends Activity {
MediaPlayer mp=null;
String content=null;
String name;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
Intent intent=getIntent();
name=intent.getStringExtra("name");
//唤醒屏幕
Window window=getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
setContentView(R.layout.alarm);
mp=MediaPlayer.create(this,R.raw.ling);
mp.setLooping(true);
}
@Override
protected void onDestroy() {
super.onDestroy();
if(mp!=null){
if(mp.isPlaying()){
mp.stop();
}
mp.release();
}
}
@Override
protected void onResume() {
super.onResume();
showalarmDialog();
}
public void showalarmDialog(){
mp.start();
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("备忘");
builder.setMessage(name);
builder.setCancelable(false);
builder.setPositiveButton("再次提醒", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
again();
finish();
}
});
builder.setNegativeButton("知道了", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
finish();
}
});
builder.show();
}
public void again(){
AlarmManager am=(AlarmManager) getSystemService(Context.ALARM_SERVICE);
long triggerAtMillis=System.currentTimeMillis() 300000;
Intent intent=new Intent(this,alarmActivity.class);
intent.putExtra("name", name);
PendingIntent operation=PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
am.set(AlarmManager.RTC_WAKEUP, triggerAtMillis, operation);
}
}