通常のAndroid端末は一定時間経過するとモニター・CPUがオフになります.

ファイルのダウンロードのような時間が掛かる処理を行っていた場合、予期せぬ状態で処理が止まってしまう可能性があります.

そこで、これに対応する実装方法を紹介します.

1.CPUをオンにしておきたい場合.

WAKE_LOCKを取得します.

必ず、忘れずにreleaseを呼んでください.これを呼ばないと、バッテリーの消耗が著しく激しくなります.

WAKE_LOCKはこのような危険性があるため、パーミッションが必要です.

このエントリを読まれている方は、ほぼほぼこちらのケースかと思いますが、2.の場合に当てはまるか念のため確認してください.

2.の実装であれば、処理の危険性なく、パーミッションも不要となります.

 

2. 画面のみをオンにしておきたい場合

ユーザが電源ボタンを押した場合には処理が停止してもいい場合は、以下の実装で画面をオンにしておくことができます.

また、LayoutのXMLへの属性追加でも同様の 効果が得られます.

 

 

より詳細な情報については、公式ドキュメントのKeeping the Device Aliveに記載があります.

 

Leave a Reply

Your email address will not be published. Required fields are marked *