0

ビジネスユーザー向けの特定のアプリを構築しています。アプリは GPS 座標をログに記録し、HTTP 経由でサービスに投稿します。

テスト中に、タブレット (Android 3.3) の画面がオフになっている間、アプリが外部サービスと通信できないという問題が見つかりました。画面をオンにするとすぐにアプリが再開され、外部サービスと通信できるようになります。

これをスマートフォン(Android 2.2)でテストしたところ、電話の画面がオフになっている場合でも完全に動作します。

アプリにいかなる種類のサービスも使用していません。スマートフォンを意識して開発を始めましたが、タブレットにも対応しました。タブレットの動作が異なるとは想像もしていませんでした。

アプリのコア コンセプトは、定期的に GPS 座標を Web サービスに送信することです。

画面がオフの場合、またはタブレットがこのために構築されていない場合に、アプリをバックグラウンドで実行できるようにするタブレットでできることはありますか?

4

1 に答える 1

1

From the discussion in the comments above, it would appear that you need to acquire a Partial Wake Lock from the PowerManager. Without a partial Wake lock, the normal behaviour for a device is to suspend the CPU while the screen is off.

Wake Locks are a bit of a tricky API, but the idea is that you aquire a lock at a specific level to prevent the device from going to sleep, either by keeping the screen on, keeping the screen on but dim, or just keeping the CPU on; then release it when you want to allow the device to sleep. This will adversely affect your user's battery life, but by the sound of it the priority is on knowing device location. The Documentation does a pretty good job of describing what's involved, and there are a few tutorials out there to get you started.

于 2012-08-29T20:15:27.773 に答える