navigator.app.exitApp()无效

6 javascript cordova

我正在开发Windows phone 8 PhoneGap应用程序.使用navigator.app.exitApp()我从Windows Phone 7的主屏幕退出应用程序.但是当我在Windows Phone 8中尝试相同时,我收到错误Unable to get property 'exitApp' of undefined or null reference.我想知道为什么它在Windows Phone 8中未定义,而不是在Window phone 7 PhoneGap应用程序中.此外,我想知道,有没有办法在Windows Phone 8 PhoneGap应用程序中以编程方式退出应用程序?

Tlm*_*aK0 10

您可以创建一个简单的插件.将文件ExitApp.css添加到您的platforms/wp8/Plugins文件夹中:

using System.Windows;

namespace WPCordovaClassLib.Cordova.Commands
{
  class ExitApp : BaseCommand
  {
    public void execute(string options)
    {
        Application.Current.Terminate();                        
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑您的平台/ wp8/config.xml并添加到小部件标记:

<feature name="ExitApp">
  <param name="wp-package" value="ExitApp" />
</feature>`
Run Code Online (Sandbox Code Playgroud)

然后从你javascript调用:

cordova.exec(null, null, "ExitApp", "execute", []);
Run Code Online (Sandbox Code Playgroud)

当用户点击主页面中的后退按钮时,您可以将它与backbutton事件结合使用来关闭应用程序:

function goBack(e){
  if(isInMyMainPage()) cordova.exec(null, null, "ExitApp", "execute", []);
}
document.addEventListener("backbutton", goBack, false)
Run Code Online (Sandbox Code Playgroud)


fab*_*ian -1

类似的问题在这里:https://groups.google.com/forum/#! msg/phonegap/9v2kOwXj6sQ/O8SVpd-qjicJ

但它基本上表示 Windows Phone 8 应用程序不应以编程方式退出。