我想知道是否可以根据时间以编程方式更改Android手机上的默认通知声音。例如,我希望默认通知声音在晚上11点后变为静音,然后在早上8点恢复为声音。我有Java的工作知识,但从未做过任何Android开发。在此先感谢您的帮助。
答案 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);
}
希望它有所帮助。否则请不要犹豫。