根据时间更改Android默认通知声音

时间:2013-01-13 15:43:27

标签: android-notifications

我想知道是否可以根据时间以编程方式更改Android手机上的默认通知声音。例如,我希望默认通知声音在晚上11点后变为静音,然后在早上8点恢复为声音。我有Java的工作知识,但从未做过任何Android开发。在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果不详细说明,我会首先创建一个AlarmService来解决这个问题,该RingtoneManager会定期运行并根据您当天所需的时间通过{{3}}更改默认铃声

AlarmManager设置“RingToneChanger.class”的定期调用,如下所示:

AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
         Intent i = new Intent(context, Alarm.class);
         PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
         am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 60 * 10, pi); // Millisec * Second * Minute

然后在触发的RingToneChanger.class中,可以像这样更改铃声:

if(isNoon) {
   RingtoneManager.setActualDefaultRingtoneUri(Context context, RingtoneManager. TYPE_NOTIFICATION , Uri lunchtimeNotificationSound);
} else {
   RingtoneManager.setActualDefaultRingtoneUri(Context context, RingtoneManager. TYPE_NOTIFICATION , Uri defaultNotificationsound);
}

希望它有所帮助。否则请不要犹豫。