日記#287#288

#287 5月13日

今日は0時更新の機能を考えるのに1つ考えたことがある。
それは、”私が0時に歩数計カウントが0になることを知れるのはウェジットという機能で確認できるようになっているからではないか”ということだ。

そこから考えていき、まずデフォルトの歩数計ウェジットがどんな性質を持っているのかを確認してみた。
初期状態はウェジットに表示されている歩数が20歩。
まずは、制作したアプリでstepdetectorで加算を確認する。

5歩増やした

その後、ウェジットに表示されている歩数が変化したかを確認する。
結果は下記である。

見ていただいて分かる通り、初期状態(ウェジットに表示されている歩数が20歩)から変化はない。

つまり、ウェジットに表示されている歩数は常に更新さえているわけではない。
これは公式が”バッテリー消費を抑えるために、センサー値の取得タイミングやAlarmManagerの間隔はできる限り長めに設定するようにしてください”と記載していることから考えて、即座に反映されないということが分かる。
つまり、”ウェジットでは0時に歩数計を0にすること”と”長めの時間間隔で表示が変更するということ”が挙げられる。

このことから、
”ウェジットを使用しなければ0時更新することもない。する必要もない。
アプリを起動したタイミングで更新すればいい。”
と考えることもできる。

通知欄に常にアプリを表示させる機能の実装も考えたが、こちらは実装方法を上手く検索できなかったので今は実装するのは止めることにした。

また、今日からあるアプリでコンテストが開催されることが決まった。
参加したい欲がすごくあるが、今のこのパワーでどこまで見てもらえるのかは不安だ。
二次創作は自分を満たすために行うものだと考えているが、それでも制作したものを誰かに見て欲しい。この面白さをあなたにも届けたい。という気持ちは発生してしまうものだ。

#288 5月14日

今日は13日の結果が間違っていることに気が付いた。
また、0時になったら歩数カウントが0になることも確認してしまった。

そこで、再び同じ問題と向き合わなければならなくなった。
そこで調べてみると次の記事が出てきた。

ここではonReceive内でもセンサー値を取得できているような雰囲気があった。
そこで、その部分をパクって実装してみたところ下記の結果が得られた。

急に答えが見つかった。
心配なので、アラームマネージャーをセットしてからアプリを終了して画面をオフにした状態でログの結果を確認してみると、

完璧だった。

ここまでもう何日苦しめられたか分からないほど苦しめられた内容がものの数分で解決してしまった。

ため息が出るほどほんとうによかった。

この記事が気に入ったらサポートをしてみませんか?