読者です 読者をやめる 読者になる 読者になる

hyoromoのブログ

iOS/AndroidもしくはCocos2dxネタを書いています

Notification表示されてればTaskKillerに殺されないServiceの作り方

ユーザーへ動作している事が認知されるServiceはTaskKillされない実装が出来るらしい。
そのため「Notification表示中」という条件が付いてしまうが、TaskKillerには殺されない実装が出来るみたい。

方法

そもそも android developpers の Service#startForeground にやりかたがそのまま載ってる。そのまま実装すればおk。

検証

Nortification表示してる/してない時の状態が分かりやすいようなサンプルアプリを作ってGitHubに公開しました。
Github -NotKillNotification-
アプリ起動するとServiceが起動され"hoge"と言うTAGでログを出力し続ける、Nortification表示の時はTaskKillerに殺されようとしても死なず、Nortification非表示の時は殺される*1

*1:ただし、しばらくすると復帰するかも