我有一个使用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();
}
});
答案 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();