I'm working on app that will manage quite a lot of local notifications. So since I don't want to waste user's battery, I'm wondering - is there any possibility to don't turn on the screen? So the notification still will be fired and the banner will be on the screen but only if user will unlock the phone. It's kind of "minor notification" that are still should be displayed but they're not so important to wake up the phone.
And if there's such possibility - wouldn't it be what Apple calls "bad user experience". You know, kind of confusion that notification didn't wake up the phone's screen?
And yes, sound still should exist, because it should work as reminder.
Thanks in advance.
Related
I'm looking for a way to open (or display a notification from) an iphone app when a low battery level notification occurs. Is it possible to perform it if my app is running in background ? I found that an app can't refresh after some minutes in background, but I wonder how many apps can display notifications by their own without being opened.
Thanks.
Is there any way to show a particular type(some important) of push notification for some 5-10 seconds on the iOS device screen when app is in background.
No, the time is fixed.
You cannot customize it - a push-notification should be a short message that in the best case makes the user tap it and open the app. There is actually not really a need for a longer time. Keep it short, simple and interesting and the user will react accordingly anyway. A longer time should not really make any difference other than people getting annoyed because your messages are always staying on top, blocking other messages and wasting screen space.
I have a habit making app which reminds user of his habits via UILocalNotifications. However the time at which user should be reminded about his habit is not always the time he scheduled it.
My question is if there is a way to keep the notification on the lock screen after the user has unlocked his iPhone / iPad and not have it moved to the notification center, because it is rarely visited, kind of like it is on Android phones.
App is written in objective-c
You can check the app out here: https://itunes.apple.com/us/app/life-habits-let-your-habits/id979064412?l=pl&ls=1&mt=8
UPDATE - a warning to anyone with similar symptoms... check Do Not Disturb is not active!
I finally paid to get an app I was working on running on my iPhone instead of on the simulator.
Having done so I've spotted a strange behaviour with regards to the UILocalNotifications that I create, which are set to use the default sound UILocalNotificationDefaultSoundName, and the default timezone ([NSTimeZone defaultTimeZone]).
If the app is foregrounded then the local notification fires on time and I receive it within
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
and I create an alert view to display it.
If however I lock my phone just before a notification is expected then nothing appears on the screen, but when I press the home button to show the lock screen I can see my app's notification in the notification centre on the lock screen. No sound was played, but then again the phone didn't wake up to show the notification properly.
If however I just press the home button so the app is put in the background leaving me looking at the springboard apps then I don't see any notifications whatsoever, and again no sound is heard.
On the simulator the same code correctly fires the notification banner when looking at the app icons in the spring board, although I've never been able to hear any sounds for the notification. But as the simulator doesn't let you configure the notification centre for apps I always presumed it was perhaps set to not allow sounds. On my device sounds for this apps notifications are enabled, and i've tried it with banner and alert modes, with no joy. Very frustrating.
Has anyone experienced this, or have an idea what could be going on?
Oh the irony of this answer.. think it's time to go to bed. My iPhone thinks that too for nearly 3 hours now... My question happily describes Do Not Disturbs behaviour, which was active.. Sorry to waste everyones time!!
Got 2 questions for the xcode experts :
- I would like to send a (repeating) local notification only to the locked screen but without having the screen turning on, it is possible ?
- I also would like to check whether the screen is on or off (for this very purpose) : is there any way with the current IOS version (IOS 7) ?
Many thanks for any help !
No this is not possible, frits it will be very hard to get you app running in background without misusing one of the background modes.
You cannot detect if the devices is locked and you will flood the notification center with messages.
If you do manage to get it working then there is good chance that Appel will reject your app for doing this.
You can check the screen by checking the applicationState property, which will be set to UIApplicationStateInactive when the phone is set to lock/sleep (as opposed to UIApplicationStateBackground).
As for the notification, you can set a push notification delegate (I've not done it from scratch, but I did it using Urban Airship and creating my own custom push handler class) and handle whether to post an alert or not there. I'm not sure, though, whether having the phone sleep will kick notifications to the OS level, which would default to showing a notification on the screen.