android Alarm闹钟发送广播播放音乐

package com.yqy.yqy_alarm;import java.util.Calendar;import android.app.Activity;import android.app.AlarmManager;import android.app.PendingIntent;import android.app.TimePickerDialog;import android.content.Intent;import android.content.SharedPreferences;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.text.style.ImageSpan;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.TimePicker;public class MainActivity extends Activity {private TextView tv = null;private Button setTime,cancelTime;private Calendar c = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);String alarm = getIntent().getStringExtra("alarm");if(alarm != null&&alarm.equals("alarm")){stopService(new Intent("com.yqy.yqy_alarm.MUSIC"));}tv = (TextView)findViewById(R.id.tv);setTime = (Button)findViewById(R.id.setAlarm);cancelTime = (Button)findViewById(R.id.cancelAlarm);//得到日历实例,主要是为了下面的获取时间c = Calendar.getInstance();setTime.setOnClickListener(new Button.OnClickListener(){@Overridepublic void onClick(View arg0) {c.setTimeInMillis(System.currentTimeMillis());int hour = c.get(Calendar.HOUR_OF_DAY);int minute = c.get(Calendar.MINUTE);new TimePickerDialog(MainActivity.this, minute, new TimePickerDialog.OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hourOfDay, int minute) {//是设置日历的时间,主要是让日历的年月日和当前同步c.setTimeInMillis(System.currentTimeMillis());//设置小时分钟,秒和毫秒都设置为0c.set(Calendar.HOUR_OF_DAY, hourOfDay);c.set(Calendar.MINUTE, minute);c.set(Calendar.SECOND, 0);c.set(Calendar.MILLISECOND, 0);int requestCode = 0;//闹钟的唯一标示Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);intent.putExtra("requestCode", requestCode);PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, requestCode, intent, 0);//得到AlarmManager实例AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);//根据当前时间预设一个警报am.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi);/*** 第一个参数是警报类型;第二个参数是第一次执行的延迟时间,可以延迟,也可以马上执行;第三个参数是重复周期为一天* 这句话的意思是设置闹铃重复周期,也就是执行警报的间隔时间*/ //am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+(60*1000), //(24*60*60*1000), pi); //am.setRepeating(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), //1000*60*5, pi);String msg = hourOfDay+":"+minute;tv.setText("当前设置的闹钟时间:"+msg);}}, hour, minute, true).show();//上面的TimePickerDialog中的5个参数参考:}});cancelTime.setOnClickListener(new Button.OnClickListener(){@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0,intent, 0);AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);//取消警报am.cancel(pi);tv.setText("闹钟取消");//取消闹钟的同时取消音乐stopService(new Intent("com.yqy.yqy_alarm.MUSIC"));}});} }

AlarmReceiver

,当你感到悲哀痛苦时,最好是去学些什么东西。

android Alarm闹钟发送广播播放音乐

相关文章:

你感兴趣的文章:

标签云: