0

ユーザーに継続的なサウンドを再生するiOS用のエアアプリがあり、オーディオが再生されている場合にアプリが定期的に振動できるようにする設定があります(基本的に音量が下がっている場合はユーザーに通知します)。アプリはバックグラウンドでオーディオを再生し続けることができますが、単純な setinterval であるタイマー イベントは継続または一時停止しません。

たとえば、ユーザーが再生を開始すると、10 秒後にデバイスが振動し、10 秒後に別の振動が発生します。ユーザーがアプリをバックグラウンドにすると (ホーム画面に移動するなど)、オーディオは継続しますが、これは素晴らしいことですが、その後、たとえば 30 秒でアプリに戻ると、経過した間隔の量が保存されているように見えるため、デバイスは 3 回振動します。

私の質問は次のとおりだと思います: - バックグラウンドでもアプリを振動させることはできますか? - アプリがフォーカスを失ったときに間隔を一時停止し、フォーカスが戻ったときにアプリを再開することはできますか?

上記のいずれも不可能な場合は、サスペンドで終了する必要があります。

ありがとう

4

1 に答える 1

0

Deactivate で setInterval を一時停止し、ACTIVATE で再開できます。そのためには、2 つのイベント リスナーを追加する必要があります。それに応じて、そのセクションで setinterval をコーディングできます。

イベントリスナー:

stage.addEventListener(Event.ACTIVATE, appActivateHandler);
stage.addEventListener(Event.DEACTIVATE, appDeactivateHandler);

リスナーを非アクティブ化するには、次のように設定する必要があります。

stage.focus = null;

試してみてください、これはあなたを助けることができます。

于 2013-02-09T04:42:21.527 に答える