Phonegap: force an app to quit instead of running in background

北城余情 提交于 2019-12-22 11:00:15

问题


I'm developing an iPhone/iPad application through Phonegap, is there a way to implement a sort of "click here to quit app"? I mean quit for real, not "put it in the background and go to home screen".

Thanks in advance.


回答1:


you can use following code to quite your app on click,

device.exitApp()

OR

navigator.app.exitApp()

Hope this may help you.




回答2:


is there a way to implement a sort of "click here to quit app"?'

Yes, there is a way for really exiting the app and killing its process.

But never do that. Not only because Apple rejects your app if you do this. The problem with this is bad user experience. iOS is not a desktop operating system. You have a Home button for leaving apps (and again, there's a reason apps don't exit completely).

The window size is, conceptually, not spacious enough for maintaining an extraneous 44x44 pixel frame (44 pixel is the minimal size that can comfortably be touched, according to Apple's Human Interface Guidelines) dedicated only for exiting.

However, if you still want to exit after this lecture, there are several ways:

exit(0);
pthread_kill(pthread_self()); // on the main thread
[[UIApplication sharedApplication] terminateWithSuccess];

etc. Some of them may have a binding in PhoneGap (if not, it's easy enough to write one yourself).




回答3:


You should not do that as this may considered as violation of iOS Human Interface Guidelines, lead rejection of your app.

Always Be Prepared to Stop

**Save the current state when stopping at the finest level of detail possible so that people don’t
lose their context when they start the app again.** For example, if your app displays scrolling data,
save the current scroll position. To learn more about efficient ways to preserve and restore your
app’s state, see “State Preservation and Restoration”.

Apple guidlines link :

http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/UEBestPractices/UEBestPractices.html




回答4:


in the application's plist put

 UIApplicationExitsOnSuspend = TRUE

and when the user hits the home button, the application will quit. No need for a button, no need for exit().

http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW23



来源:https://stackoverflow.com/questions/15763177/phonegap-force-an-app-to-quit-instead-of-running-in-background

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!