2

我正在使用 Cordova 3.x 开发一个应用程序,当您按下 HOME 按钮时,该应用程序需要在后台运行,在 Android 上,我的 config.xml 中有以下行:

<preference name="exit-on-suspend" value="false" />

这在我的 Android 模拟器上运行良好,当我按下 HOME 按钮时,应用程序继续在后台运行,但是当我在我的真实设备上测试时,应用程序仅在后台运行太少几秒钟......

任何解决方案?谢谢!:-)

4

1 回答 1

1

该首选项exit-on-suspend仅受 iOS 支持。根据 PhoneGap 开发人员的说法:

不久前我们进行了这项工作,但不幸的是,由于 Android 活动的性质,在暂停时退出会破坏使用额外活动的各种功能。例如,当你使用 navigator.camera.getPicture 时,当启动相机 Activity 时,应用程序的主 Activity 被暂停,如果我们在暂停时退出,它将退出。

一个可能的选择是监听pause事件,然后在它发生时退出应用程序:

<script src="phonegap.js"></script>
<script>
  function onPause() {
    navigator.app.exitApp();
  };

  function onDeviceReady() {
    document.addEventListener("pause", onPause, false);
  };

  function onLoad() {
     document.addEventListener("deviceready", lbmon.onDeviceReady, false);
  };
</script>
</head>
<body onload="onLoad();">
</body>
于 2015-01-11T11:17:06.430 回答