1

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

4

1 回答 1

0

无需过多介绍,我将通过首先创建一个AlarmService来解决此问题,该服务将定期运行并通过RingtoneManager根据您一天中所需的时间更改默认铃声

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);
}

希望能帮助到你。否则请不要犹豫。

于 2013-01-14T06:15:15.793 回答