如何播放10分钟的闹钟通知

时间:2013-03-26 10:32:18

标签: android time fixed alarms

如何在Android中播放特定时间段的闹钟通知(例如连续10分钟)?

public class AlarmReciver extends BroadcastReceiver{

 private static int NOTIFICATION_ID = 1;
 Bundle bundle;
 int notificationId = 0;
 AudioManager audioManager;
 @Override
 public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
  try{
     audioManager = (AudioManager) context.getSystemService (Context.AUDIO_SERVICE);
     audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
     int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
     audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, maxVolume, 0);
      //audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC), 0);
     notificationId = intent.getExtras().getInt("notificationId");
     NotificationManager manger = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.ic_launcher, "YourBestSelfApp", System.currentTimeMillis());
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.defaults =  Notification.DEFAULT_VIBRATE|Notification.DEFAULT_LIGHTS;
notification.sound = Uri.parse("android.resource://"+context.getPackageName()+"/"+R.raw.iphone_5_original);
Intent intent1 = new Intent(context,WelcomeActivity.class);
intent1.putExtra("activityFrom", "notificationAlarm");
PendingIntent activity = PendingIntent.getActivity(context,NOTIFICATION_ID + 1, intent1,  PendingIntent.FLAG_UPDATE_CURRENT);
 notification.setLatestEventInfo(context, "hello","", activity);
notification.number = 1;
manger.notify(notificationId, notification);
    }catch (Exception e) {
    // TODO: handle exception
     e.printStackTrace();
           }
       }   

1 个答案:

答案 0 :(得分:0)

//联系SyncBroadcast.class,它可以是活动或广播接收者或服务

 Intent intent = new Intent(this,ContactsSyncBroadcast.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(),
                0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager =  (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,10*60*1000,10*60*1000, pendingIntent);

闹钟将每10分钟触发一次。