I'm new to iPhone SDK.
Any idea how to put the iPhone into the sleep mode from within the code (my application), as if the user has clicked the sleep/wake button?
Best regards.
Your UIApplicationDelegate will have
- (void)applicationWillResignActive:(UIApplication *)application
called when the lock button is pressed but there does not seem to be a way to trigger this from code.
I'm pretty sure this will be disallowed.
You are not permitted to make changes to the state of the device (change volume etc) which would not be expected by the user.
There is no offical way to make the iPhone or iPod go into sleep mode or to lock the screen.
You have to remember that the iPhone is not a little laptop. It is also a phone and therefor an emergency communications device. Developers are not allowed to do anything that might interfere with the users control of the phone.
Related
When I use the build button in xcode to run my cordova app on the phone, if the build process take too long I get a "Device locked" error.
Is there a way or any hack I can do to keep my iphone unlocked when it's building? Is there a way to tell xcode to keep my phone unlocked?
The easiest fix for this is to disable sleep mode (for up until ~1hr) for your phone. Then you won't have to worry about it locking.
Open the Settings app.
Tap Display & Brightness.
Tap Auto-Lock.
If this option is grayed out, visit this Lock screen settings tip to
learn what to do. Set the lock feature to a time that works for you.
To fiddle with the phone's auto lock duration whenever you're working, and then changing it back to normal is not ideal for me since I use my primary phone for testing apps too. My workaround was to run a youtube video on silent and let iOS switch it to my testing app whenever the build is ready!
How can i place my application icon on the lock screen of the iphone programmatically(something like the default camera button next to slide lock). Is it possible ? If so can any one guide me on this ??
EDITED
Hi all.. thanks for replies.. after seeing your replies i understand that this is not possible and its possible in jailbroken devices.. or is it possible to invoke my application through some gesture on lock screen ???
I dont think it is possible. I understand you want to implement something like android interface, but apple has its UI standards and has restricted access to that.
For Jail broken Device:
I'm not sure whether it work or not.
Please check these links:
You Tube 1
You Tube 2
Note : Possibly it is for Jailbroken devices. Also I didn't checked these video's because it's restricted in our company :(
This is not possible as Apple does not allow that.
I locked the iPhone by calling the method GSEventLockDevice()from GraphicsServices.framework. It's working fine on the iPhone , but after locking the phone the backlight doesn't turn off. It remains lit and it shows the unlock screen.
How can I make the screen turn off immediately after locking?
Why are you doing this. Apple never accept this kind of private framework tasks. It must be jailbreak app. GraphicsServices.framework not deals with backlight and screen ON and OFF state. it just deals with GSEvents and other graphical things. I think you can't do that .
If you are developing for a jailbroken phone you could use GSEventSetBacklightLevel(0); to dim the brightness level.
I'm trying to get the following functionality in my iPhone app:
When backgrounded, stays running (doesn't have to do any background work)
When resumed, app picks up where it was left off
I'm mainly wanting the same screen on my app still up, as there are several UINavigationControllers within a UITabBarController.
I have done all of the following:
Made sure I'm compiling with 4.1 SDK
Set UIApplicationExitsOnSuspend to false
Handle DidEnterBackground and WillEnterForeground in my AppDelegate
Call BeginBackgroundTask in DidEnterBackground, to attempt to keep my app open
I'm using MonoTouch, but that it probably beside the point. I can take answers in Obj-C, for sure.
I've tested my app on a jailbroken phone with Backgrounder, and I see the "app in background" badge disappear immediately after pushing the home button. I also tried setting UIBackgroundModes in my Info.plist, but to no avail.
Is there anything I'm missing?
Or is this something I would have to implement on my own to resume the previous state of my app? Everywhere I've read talks like it should just work automatically.
If you don't want to be doing work in background, don't call beginBackgroundTask. That call is for situations where you want to do some kind of work in the background. And if you don't finish that work fast enough, iOS will terminate your app.
When I upgraded to iOS 4.x, my MT application started exhibiting this behavior without me having to do anything. iOS should take care of it for you.
I finally got in touch with someone on MonoTouch's irc.
In MonoDevelop there is an option to make a dual iPad/iPhone project, which I used. This is causing my app to behave as if it's running with the 3.2 SDK when deployed to the device.
I think my solution is to install the iOS 4.2 SDK that just came out, since this ads the new multi-tasking feature on iPad.
Not only do you need to support going into the background, you also need to support cases where your app has been terminated. In your app’s initialization code, you should resume the state that it was in. For instance, when you push a view controller, use NSUserDefaults to store a value for the currently-displayed screen, and then when you start read that value and display the associated screen.
I want my app (LaunchDaemon) to keep running even if user locks the iPhone. My LaunchDaemon simply check a file and if some condition is true, it displays an Alert to the User. Its working great when iPhone is on Home Screen, but it is not working when user Locks the Screen.
I want something Similar to Alarm app of iPhone which will show an Alert even if the iPhone screen is Locked.
Any suggestions on how to do this? BTW i am developing for JB iPhone.
OS powers down the device and suspends your app after about 30 seconds after screen is locked. However,
if your app is playing a sound OS will not do that. Hence what you need to do is play a silent sound in a loop.
Alright i have solved this problem too.
Here is a very good tutorial on how to prevent deep sleep of iPhone.
Prevent iPhone Deep Sleep
It took me quite sometime to made this work, as NSRunLoop was not running for me automatically.
Hope this will help someone else also.
Best of Luck !!!