2016-05-13 11 views
0

アプリケーションの初期ロード時に、完全に完了するまでに20分から1時間かかる、何百ものワークライトinvokeProcedure呼び出しを行います。 (それぞれが10秒以下で済むのでうまくいきます)しかし、デバイスのロック画面が表示された場合はアプリケーションを一時停止し、デバイスのロック画面にすばやく反応しないと、ワークライトのinvokeProcedureが中断され、ロードプロセス。端末がロックされている間にMobileFirstアプリが実行されていますか?

ロック画面が表示されているときに、Windows、iOS、およびAndroidでアプリケーションを設定する方法はありますか?

+0

数百回の呼び出しプロシージャ呼び出し?できるだけ多くのアダプタコールを連鎖しようとすることはできませんでしたか? –

+0

いいえ、私たちは意図的にそれらを小片に詰め込んで、それぞれがワークライトとバックエンドサーバー間のソケットタイムアウトよりも短くなっています。問題は、アプリケーションが一時停止し、invokeProcedureが失敗することです。 –

+0

MobileFirstのどのバージョンですか? –

答えて

1

スクリーンロックの発生を防止し、Idan Adarのバックグラウンド処理の組み合わせを見て、より優雅で制御可能なUXを提供することができます。

iOSの場合、処理の適切な場所にidelTimerDisabledプロパティを設定すると、画面ロックが防止され、他の外部デバイス操作が発生した場合は、残りのプロシージャ呼び出しのプロセス状態を正常に完了して保存し、アプリが再びアクティブになったときに表示されます。

[UIApplication sharedApplication].idleTimerDisabled = YES; 

他のプラットフォームでも同様のアプローチがサポートされるはずです。

+0

Windowsでロック画面を無効にする方法を見つけることができました。このアプローチをAndroidとiOSで引き続き使用します。驚いたことに、バックグラウンドフェッチの設定はiOSでうまくいきませんでした。画面がロックされてもアプリは一時停止しました。 –

関連する問題