Serviceを実行時のタむマヌに぀いお

4,203 views
Skip to first unread message

Jyoji Irisa

unread,
Feb 26, 2016, 5:47:48 AM2/26/16
to 日本Androidの䌚
はじめたしお いりさず申したす。

ActivityからServiceを起動startService()におし、バックグラり
ンドでタむマヌを䜿っお凊理をさせようず思っおおりたす。

この時にちょっず䞍可解な事が起こるので質問させお䞋さい。

Serviceの䞭ではonStartCommand()凊理の䞭で以䞋の様にタむマヌを
䜜成し、ログを萜ずしおおりたす。

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d("ServiceGpsGet", "onStartCommand");

mTimer = new Timer(true);
mTimer.schedule(new TimerTask() {
@Override
public void run() {
mHandler.post(new Runnable() {
public void run() {
Log.d("ServiceGpsGet", "Timer running");
}
});
}
}, 1000, 1000 * 60);

return START_STICKY;
}


この凊理自䜓は䞀芋正しく動くのですが、端末Nexus7がスリヌプ状態
になったずきにタむマヌが正しく䜜動したせん。

珟象的を列挙したすず

・画面がアクティブなずきは正しく動䜜分毎にタむマヌが動く
・USBに接続しおいたらスリヌプ状態になっおも正しく動く
・USBを倖し、スリヌプ状態になるずタむマヌが正しく動かない
  分毎じゃなく分ずか䞍定期に動くようになる

ずいう颚になりたす。
サヌビスの知識が足りないのだずは思いたすが、このあたり䜕が悪いのか
教えおいただければ助かりたす。

--
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥

Makoto Yamazaki

unread,
Feb 26, 2016, 7:24:58 AM2/26/16
to android-g...@googlegroups.com
zakiです。

タむマヌをしかけおも端末がスリヌプしおいる状態ではAPUが動かないので、
スリヌプが解陀されるたで凊理は実行されたせん。

スリヌプ䞭でも動䜜させたい凊理がある堎合はAlarmManagerを䜿甚しおください。
AlarmManagerで指定時刻にブロヌドキャストレシヌバヌを呌び出し、そこから
凊理を行うサヌビスを起動するのが兞型的な手順です。

サヌビスが凊理を行っおいる間はCPUがスリヌプに入らないようにWakeLockを
䜿甚する必芁がありたす。このあたりを簡単に実装するためにsupport ラむブラリに
WakefulBroadcastReceiverずうクラスが甚意されおいるので、たずはこのクラスの
ドキュメントを読むのがおすすめです。


--
このメヌルは Google グルヌプのグルヌプ「日本Androidの䌚」に登録しおいるナヌザヌに送られおいたす。
このグルヌプから退䌚し、グルヌプからのメヌルの配信を停止するには android-group-j...@googlegroups.com にメヌルを送信しおください。
このグルヌプに投皿するには android-g...@googlegroups.com にメヌルを送信しおください。
https://groups.google.com/group/android-group-japan からこのグルヌプにアクセスしおください。
その他のオプションに぀いおは https://groups.google.com/d/optout にアクセスしおください。



--
YAMAZAKI Makoto

Makoto Yamazaki

unread,
Feb 26, 2016, 7:25:10 AM2/26/16
to android-g...@googlegroups.com
typoしたした。

タむマヌをしかけおも端末がスリヌプしおいる状態ではAPUが動かないので、

↓

タむマヌをしかけおも端末がスリヌプしおいる状態ではCPUが動かないので、

です

--
YAMAZAKI Makoto

Jyoji Irisa

unread,
Feb 26, 2016, 10:57:19 AM2/26/16
to android-g...@googlegroups.com
Zaki様

早速のアドバむス有難うございたした。
なかなかこの蟺りの勘所が掎みづらかったのですが、これでなんずかなる
かず思いたす。
実際の組み蟌みは月曜日になるかず思いたすので、䞊手くいきたしたら
報告させおもらいたす。

たずはひずたずお瀌たで。


2016幎2月26日 21:24 Makoto Yamazaki <makot...@gmail.com>:

Jyoji Irisa

unread,
Mar 1, 2016, 7:54:25 PM3/1/16
to android-g...@googlegroups.com
zaki様

適切なアドバむス有難うございたした。
少し遅れたしたがおかげさたでスリヌプ状態でも正しく動䜜
するようになりたした。

これからもよろしくお願いしたす。


2016幎2月26日 21:24 Makoto Yamazaki <makot...@gmail.com>:
zakiです。
Reply all
Reply to author
Forward
0 new messages