0

私のアプリでは、ユーザーが定義した時間間隔で振動させる必要があります。

基本的には、定義された時間に達したときにデバイスを振動させるクロノメーターがあります。現在、onChronometerTick()メソッドで、クロノメーターの値を読み取り、それを目的の値と比較することでこれを行っています。

このアプリもバックグラウンドで動作する必要があります。私はグーグルで検索し、Androidサービスクラスに関するいくつかの例を見つけました。

私の疑問は、私のサービスクラスがクロノメーターの値をどのように取得するかです。Serviceクラスはレイアウトコンポーネントを処理できないことを確認しました。

これどうやってするの?サービスはこの問題を処理するための最良の方法ですか?

ありがとうございました!

4

1 に答える 1

2

あなたが欲しいのはalarmmanagerのようです。アラーム マネージャに関する内容は次のとおりです。

これらにより、将来のある時点でアプリケーションを実行するようにスケジュールできます。アラームが鳴ると、登録されていた Intent がシステムによってブロードキャストされ、ターゲット アプリケーションがまだ実行されていない場合は自動的に開始されます。登録されたアラームは、デバイスがスリープ状態の間保持されます (また、その間にアラームがオフになった場合はオプションでデバイスをウェイクアップできます) が、オフにして再起動するとクリアされます。

したがって、カウンターをオフにした後もカウンターを継続させたい場合は、起動時のオプションか何かを見つける必要があります。しかし、はい、これは、画面がロックされた後も引き続きイベントを実行したい場合に、イベントをスケジュールするために必要なものです.

于 2012-12-15T20:38:57.857 に答える