package net.blogjava.mobile;import java.util.Calendar;import android.app.Activity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.media.MediaPlayer;import android.util.Log;public class AlarmReceiver extends BroadcastReceiver{private static int num = 0;  @Overridepublic void onReceive(Context context, Intent intent){SharedPreferences sharedPreferences = context.getSharedPreferences("alarm_record", Activity.MODE_PRIVATE);String hour = String.valueOf(Calendar.getInstance().get(Calendar.HOUR_OF_DAY));String minute = String.valueOf(Calendar.getInstance().get(Calendar.MINUTE));Log.e("ActionBroadCast", "New Message !" + num++);// 从XML 文件夹获得描述当前时间点的valueString time = sharedPreferences.getString(hour + ":" + minute, null);if (time != null) {// 播放声音MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.ring);mediaPlayer.start();}}}



package net.blogjava.mobile;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.content.SharedPreferences;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import android.widget.TimePicker;public class Main extends Activity implements OnClickListener{private TextView tvAlarmRecord;private SharedPreferences sharedPreferences;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);Button btnAddAlarm = (Button) findViewById(R.id.btnAddAlarm);tvAlarmRecord = (TextView) findViewById(R.id.tvAlarmRecord);btnAddAlarm.setOnClickListener(this);sharedPreferences = getSharedPreferences("alarm_record", Activity.MODE_PRIVATE);AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);Intent intent = new Intent(this, AlarmReceiver.class);//创建封装BroadcastReceiver 的pendingIntent对象PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,intent, 0);//开始定时器,每1分钟执行一次,5salarmManager.setRepeating(AlarmManager.RTC, 0, 30000, pendingIntent);//alarmManager.cancel(pendingIntent);}@Overridepublic void onClick(View v){View view = getLayoutInflater().inflate(R.layout.alarm, null);final TimePicker timePicker = (TimePicker) view.findViewById(R.id.timepicker);timePicker.setIs24HourView(true);// 显示设置时间点的对话框new AlertDialog.Builder(this).setTitle("设置提醒时间").setView(view).setPositiveButton("确定", new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which){String timeStr = String.valueOf(timePicker.getCurrentHour())+ ":"+ String.valueOf(timePicker.getCurrentMinute());//将时间点添加到  TextView  组件中tvAlarmRecord.setText(tvAlarmRecord.getText().toString() + "\n" + timeStr);//count++;/*View view2 = new View(Main.this);view2.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,1));view2.setBackgroundColor(Color.RED);LinearLayout linearLayout = (LinearLayout)getLayoutInflater().inflate(R.layout.main, null);linearLayout.addView(view2);*///保存时间点sharedPreferences.edit().putString(timeStr, timeStr).commit();}}).setNegativeButton("取消", null).show();}}


更多相关文章

  1. 使用DatePicker以及TimePicker显示当前日期和时间
  2. RadioButton+FrameLayout+Fragment实现底部导航
  3. Android(安卓)通用Dialog中设置RecyclerView
  4. 有关ImageView的圆角或弧度角设置
  5. 网络获取图片实现无线自动轮播
  6. android 批量上传图片
  7. java 定时任务
  8. EditText中inputType="number"还可输入字母的设置
  9. Android设置屏幕方向

随机推荐

  1. MySql基础语法的学习-基础的查询语句
  2. SpringBoot+Vue3前后端分离,实战wiki知识
  3. 态路小课堂丨QSFP-DD封装模式光模块接口
  4. 前端inline元素间隙问题解决办法
  5. 游戏云间之五:游戏架构
  6. MyBatis的SQL执行流程,逻辑超清晰,总结得也
  7. TaskBuilder低代码开发平台怎么样?
  8. Linux常用命令的超全整理(附Linux学习笔记
  9. MySql基本查询-基本函数
  10. Elasticsearch的基础语法