アラーム音を30秒間連続して再生するには、通知を30回起動する必要があります。しかし、ユーザーが通知プールから通知を削除した場合、プロセスはループから抜け出す必要がありますか?これを行うための最良の方法は何ですか?
for(int i ; i < 30; i++) {
notificationManager.notify(tag, NOTIFICATION_ID, notification);
Thread.sleep(1000);
}
これは私の質問に答えました。FLAG_INSISTENTは、ユーザーが通知プールを開くまでサウンドを繰り返し再生しました。'for'ループは必要ありません。
// turn on the alarm
notification.sound = soundUri;
notification.flags |= Notification.FLAG_INSISTENT;
// after 30 seconds turn off the alarm
new Handler().postDelayed(
new Runnable() {
@Override
public void run() {
notification.flags ^= Notification.FLAG_INSISTENT;
notificationManager.notify(tag, NOTIFICATION_ID,
notification);
}
}, 30000);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加