在我的iPhone應用程序中我需要顯示本地通知。我想知道是否可以設置屏幕上顯示本地通知的時間間隔?例如,我想在20秒內顯示本地通知。我知道播放聲音時顯示本地通知。但我也發現不可能重複本地通知聲音:UILocalNotification repeat sound如何設置本地通知的持續時間
1
A
回答
1
沒有本地通知到期的概念。你告訴他們開火,並由用戶來解僱或與他們互動。
關於使聲音持續20秒(除了事實上我會刪除這個應用程序,如果它堅持播放20通知聲音!),讓我們說,例如,你當前的聲音持續5秒,你可以複製粘貼在一個文件中發聲4次,然後播放。我認爲最大聲音長度爲30秒,但我無法找到支持這一點的文檔。
0
您可以通過在每20秒後更改notify.firedate
來設置持續時間。
維持每20秒 - 您可以使用定時器
1
對不起,我的英語不好。 您只能使用NSCalendarUnit值重複本地通知。或重置他(通知),並設置新的舊通知在方法(應用程序:didReceiveLocalNotification :)工作。爲此,您可以將自己的字典添加到通知對象userInfo值,並在稍後在此方法中收到通知時處理它。但是,當應用程序未運行時,此方法無法在後臺模式下運行,或者未點擊通知警報運行。希望這可以幫助。
0
如果它是關於重複的通知聲音,那麼你可以這樣做:
UILocalNotification* notifyAlarm =[[UILocalNotification alloc]
init];
if (notifyAlarm)
{
notifyAlarm.timeZone = [NSTimeZone defaultTimeZone];
notifyAlarm.fireDate = nil;
[email protected]"phone.wav";
notifyAlarm.alertBody [email protected]"value";
[email protected]"value";
notifyAlarm.hasAction=YES;
[[UIApplication sharedApplication] presentLocalNotificationNow:notifyAlarm];
[notifyAlarm release];
UIApplicationState state = [[UIApplication sharedApplication] applicationState];
if (state == UIApplicationStateInactive || state==UIApplicationStateBackground) {
[self backgroundHandlerToPlayCallTone];
}
}
-(void)backgroundHandlerToPlayCallTone {
UIApplication* app = [UIApplication sharedApplication];
bgTaskToPlayCallTone = [app beginBackgroundTaskWithExpirationHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
[app endBackgroundTask:self->bgTaskToPlayCallTone];
self->bgTaskToPlayCallTone = UIBackgroundTaskInvalid;
});
}];
// Start the long-running task
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^{
//dispatch_async(dispatch_get_main_queue(), ^{
[self startCallTone];
[app endBackgroundTask:self->bgTaskToPlayCallTone];
self->bgTaskToPlayCallTone= UIBackgroundTaskInvalid;
});
}
-(void) startCallTone {
if(audioPlayer !=nil) {
[audioPlayer pause];
[audioPlayer release];
audioPlayer=nil;
}
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"phone" ofType:@"wav"]];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[audioPlayer setDelegate:self];
audioPlayer.numberOfLoops=10;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
//[[AVAudioSession sharedInstance] setActive:YES withFlags:AVAudioSessionSetActiveFlags_NotifyOthersOnDeactivation error:nil];
UInt32 allowMixing = true;
AudioSessionSetProperty (kAudioSessionProperty_OtherMixableAudioShouldDuck, sizeof(allowMixing),&allowMixing);
[[AVAudioSession sharedInstance] setActive: YES error: nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[audioPlayer play];
}
相關問題
- 1. 持續本地通知iOS
- 2. 本地通知,時間設置
- 3. 在willRotateToInterfaceOrientation通知中設置的持續時間值在哪裏?
- 4. 如何以正確的方式設置通知聲音持續時間android
- 5. 如何在特定時間設置本地通知?
- 6. 如何設置本地通知的alarmmanager?
- 7. 如何設置本機錄像機的持續時間?
- 8. 如何設置Alexa喚醒時間的持續時間?
- 9. Android:通知聲音持續時間
- 10. 如何在iCalendar中設置日期,時間和持續時間?
- 11. 設置AVMutableComposition的幀持續時間
- 12. 設置用戶輸入本地通知的時間
- 13. 持續通知
- 14. 本地化「持續時間」或毫秒
- 15. XSL 2.0 - 如何持續時間通知`PT11H22M`變爲11.22
- 16. 如何爲時間12PM和6PM的特定日期設置本地通知
- 17. 打字機和設置持續時間
- 18. 從AVPlayer設置MPNowPlayingInfoCenter持續時間?
- 19. 爲UILongPressGesture設置最長持續時間?
- 20. 如何在JavaScript中設置計時器持續時間?
- 21. iPhone:如何設置重複每日/每小時本地通知?
- 22. 如何提取只包含持續時間的持續時間?
- 23. 如何使本地化的持續時間字符串?
- 24. 當前本地通知現在和時間表本地通知
- 25. 如何在FFMPEG中設置視頻的持續時間?
- 26. 如何設置動畫的持續時間和緩動屬性()
- 27. 如何設置Ajax調用的最小持續時間?
- 28. 如何在icalender的ekevent中設置事件持續時間?
- 29. 如何設置UIPickerView的動畫持續時間?
- 30. 如何在UI中設置遊戲的持續時間?
他實際上可能使一個短的蜂鳴聲與無聲19secs如果這是真的,該通知停留在屏幕只要聲音正在播放... –
問題是,這不是真正的Engin。它一直保持在屏幕上,直到用戶與其交互爲止,這可能是永遠的。 –