1

Androidフォンのデフォルトの通知音を時間に基づいてプログラムで変更できるかどうか疑問に思っていました。たとえば、デフォルトの通知音を午後 11 時以降は無音に変更し、午前 8 時に音に戻すようにしたいと考えています。Java の実用的な知識はありますが、Android 開発は行ったことがありません。助けてくれてありがとう。

4

1 に答える 1

0

詳しくは説明しませんが、まず定期的に実行されるAlarmServiceを作成し、 RingtoneManagerを介して希望する時刻に応じてデフォルトの着信音を変更することで、この問題に取り組みます。

次のような「RingToneChanger.class」の定期的な呼び出しを設定する AlarmManager:

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 に答える