當前位置:編程學習大全網 - 源碼下載 - android鬧鐘響起事件可以監聽到嗎,應該怎麽

android鬧鐘響起事件可以監聽到嗎,應該怎麽

設置鬧鐘與獲得當前時間,下面代碼中都用import java_text);btn_set = (Button) findViewById(R.id.btn_set);btn_close = (Button) findViewById(R.id.btn_close);calendar = Calendar.getInstance();/**設置鬧鐘*/btn_set.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//設置當前時間calendar.setTimeInMillis(System.currentTimeMillis());//獲取小時int hour = calendar.get(Calendar.HOUR_OF_DAY);//獲取分鐘int minute = calendar.get(Calendar.MINUTE);/**時間對話框*/new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hourOfDay, int minute) {//設置當前時間calendar.setTimeInMillis(System.currentTimeMillis());calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);//設置小時calendar.set(Calendar.MINUTE, minute); //設置分鐘calendar.set(Calendar.SECOND, 0); //設置秒數calendar.set(Calendar.MILLISECOND, 0); //設置毫秒/**建立Intent和PendingIntent,來調用目標組件*/Intent intent = new Intent(MainActivity.this, MyReceiver.class);PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);/**獲取鬧鐘管理的實例*/AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);/**設置鬧鐘*/am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);/**設置周期鬧鐘*/am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+(10*1000), (24*60*60*1000), pendingIntent);String tmps = "設置鬧鐘時間為"+format(hourOfDay)+":"+format(minute);tv_text.setText(tmps);}}, hour, minute, true).show();}});/**取消鬧鐘*/btn_close.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent(MainActivity.this, MyReceiver.class);PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);am.cancel(pendingIntent);tv_text.setText("鬧鐘已取消...");}});}/**格式轉換:7:3--->07:03 */private String format(int x){String s=""+x;if(s.length() ==1){s="0"+s;}return s;}}

  • 上一篇:BT下載 怎麽下載視頻啊,誰能教教我
  • 下一篇:Android為什麽選擇binder
  • copyright 2024編程學習大全網