私の PhoneGap アプリケーションは、「一時停止」イベントがキャプチャされたときに、(接続ステータスを更新するために) Websocket メッセージをサーバーに送信する必要があります。
アンドロイド
Android デバイスでは、次のコードを使用しても問題はありません。
document.addEventListener("deviceready",function(){
document.addEventListener("pause", function() {
socket.emit('changeStatus', 'incative');
});
document.addEventListener("resume", function() {
socket.emit('changeStatus', 'active');
});
}, false);
iOS
iOS では、これは別のやかんです。実際、「一時停止」イベントに関する PhoneGap の公式ドキュメントは次のとおりです。
iOS の癖
一時停止ハンドラーでは、Objective-C を通過する呼び出しは機能せず、アラートなどの対話型の呼び出しも機能しません。これは、console.log (およびそのバリアント) を呼び出すことができないこと、またはプラグインまたは PhoneGap API からの呼び出しができないことを意味します。これらは、アプリが再開したときにのみ処理されます (次の実行ループで処理されます)。
彼らが「Objective-C を経由する呼び出しは機能しない」と言うとき、ネットワーク アクセスの使用について話しているのでしょうか? 実際、iOS でアプリをテストすると、アプリケーションを再開すると値が「inactive」の「changeStatus」メッセージが送信されます。
ここに私の2番目の質問があります: 「一時停止」イベントをキャプチャした後、phonegap iOSアプリでサーバーにアクセスすることは可能ですか?
ご協力いただきありがとうございます