8

これが私が仕事に取り掛かるために必死に努力していることです:

指定された間隔でGPSモジュールをポーリングし、write()などのUnix呼び出しを使用してサーバーに座標を送信するアプリがあります。アプリがアクティブな場合は正常に機能しますが、画面がロックされると、レポートは停止します。

私はこれを見つけました:[UIApplication sharedApplication] .idleTimerDisabled = YES; これにより、アプリは存続しますが、バッテリーが急速に放電します。画面がロックされているときでも音楽をストリーミングする他のアプリ(Apple以外のアプリ)に出くわしたので、GPSデータストリームを存続させる方法が必要だと思いました。

誰かが助けることができますか?ありがとうございました!

4

5 に答える 5

6

これを見てください:

http://marcopeluso.com/2009/08/23/how-to-prevent-iphone-from-deep-sleeping/

これは、ディープ スリープを無効にするために使用されるコードの一部です。アプリケーションがバックグラウンドで実行され続けている間も、画面がオフになる可能性があります。

于 2010-02-08T13:25:17.340 に答える
1

画面のロックを解除したままにしておく必要があります。ただし、GPS を有効にしておく必要があるという意味ではありません。GPS モニターをシャットダウンして、数分ごとに起動することができます。それと、1 分後に表示される真っ黒な「スクリーンセーバー」により、排水が大幅に削減されます。

于 2009-11-19T21:19:34.993 に答える
1

アプリケーションがサウンドを再生 (または録音) している場合、無音を再生しても、画面がロックされていても実行が継続されます。そのため、Audio Queue サービスを介して無音を再生して、アプリを実行し続けることをお勧めします。

この質問に関して、私は GPS 関連の詳細を知らないことに注意してください。別のコメント投稿者は、画面がロックされているときに GPS を実行することは明確に禁止されていると述べています (プライバシーの問題の可能性を考えると、これは Apple 側の賢明な決定かもしれません)。それが本当かどうか、私にはアドバイスできません。

于 2009-11-21T23:44:52.613 に答える
0

100% 確信はありませんが、GPS モジュールは画面がロックされていない場合にのみ機能するということをどこかで聞いた気がします。(もちろん、ジェイルブレイクされた電話を持っていない限り...)

ランニング中に自分の位置を追跡する実行中のアプリケーションをダウンロードしていたときに、これを読んだと思います。このアプリには独自の「ロック画面」があり、それを機能させるにはそれを用意する必要があり、バッテリーの消耗が非常に速かった。画面を通常どおりロックしてから再度ロック解除すると、位置情報を再取得する必要があります。

于 2009-11-19T17:13:34.320 に答える
0

私はそれが可能だとは思わない(それは私が過去にやりたかったことです)。たとえば、GPS にアクセスできる safari ブラウザは、画面がロックされているときはアクセスできないことを知っていますが、これは制限ではなく設計による可能性があります。

于 2009-11-19T17:15:44.677 に答える