2

Insomniaプラグインは、呼び出されるwindow.plugins.insomnia.keepAwake()までデバイスをスリープ状態に保つことを約束します。window.plugins.insomnia.allowSleepAgain()

ただし、一部のアプリでは、アプリがアクティブな間だけデバイスが起動していることが理にかなっています。ユーザーがアプリを一時停止し、バックグラウンドで実行していたことを忘れた場合は、バッテリー レベルを下げるのではなく、スリープを許可することをお勧めします。

通常、アプリの一時停止時に必要なアクションは、pauseイベントを通じて処理されます。

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

function onPause() {
    window.plugins.insomnia.allowSleepAgain();
}

しかし、Cordova docsによると、iOS の Pause ハンドラーは、Insomnia プラグインを含むネイティブなものを呼び出すことはできません。

必要な機能を実現する方法は?

4

2 に答える 2

0

そのプラグインのソースを見ると、iOS ではインスタンスを呼び出しsetIdleTimerDisabled:trueますUIApplicationisIdleTimerDisabled

アプリのアイドル タイマーを無効にするかどうかを制御するブール値。

デバイス全体のアイドル タイマーを無効にするわけではないため、ユーザーがアプリを一時停止すると、アイドル タイマーが再び有効になります。

于 2016-12-16T00:00:14.897 に答える