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