如何使用navigator.app.exitApp()退出iOS平台上的cordova应用程序?

时间:2015-09-18 16:23:09

标签: cordova

我有一个使用cordova构建的应用程序,但我不知道如何添加退出/停止功能以退出应用程序。在浏览谷歌和其他网站后,我有线索使用navigator.app.exitApp()但它没有为我工作。我该如何解决这个问题?

这是我的代码:

function onDeviceReady() {
            var network = navigator.connection.type;

            if (network === 'none') {


                    $cordovaDialogs.confirm('Attention' + '\n' + 'You have no internet connection', '', ['Review Settings', 'Exit'])
                        .then(function(buttonIndex) {
                            // no button = 0, 'OK' = 1, 'Cancel' = 2
                            var btnIndex = buttonIndex;
                            if (btnIndex == 1) {
                                $state.go('register');
                            } else {
                                navigator.device.exitApp();
                            }
                        });

5 个答案:

答案 0 :(得分:2)

别。它不是iOs应用程序工作方式的一部分。如果您使用它,那么您的应用程序将无法在Apple Review流程中获得批准,并且将从App Store中被拒绝。

其他SO回答:Exit App

Apple本身:Themes & UI

答案 1 :(得分:1)

navigator.device.exitApp()在iOS中不起作用...会被忽略。它可能在Android中(通常带有一些mod,但这是另一个问题)。

您可以修改现有插件或创建自己的插件,并添加一个方法来调用本机ObjC exit(0)或[[NSThread mainThread] exit]。苹果公司对于为用户退出iOS应用程序提供了一种解决方法。[/ p>

答案 2 :(得分:0)

确保在设置与退出呼叫相关联的任何按钮之前等待'deviceready' event。否则,请通过onclick=将其添加到按钮。

有关详细信息,请参阅:
Cordova / Phonegap新手的开发人员的主要错误
https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md
见#4

最好的运气

答案 3 :(得分:0)

使用此: https://www.npmjs.com/package/cordova-plugin-exit

在build.xml中添加插件:

<plugin name="cordova-plugin-exit" source="npm" spec="~1.0.2" />

在您的JavaScript代码中:

if (cordova && cordova.plugins)
{
    cordova.plugins.exit();
}

答案 4 :(得分:-1)

cordova插件添加https://github.com/FRD49/iOS-ExitApp.git

使用此插件并简单地调用 navigator.app.exitApp();