私はいくつかの非UIアクションを開始する必要がある場合があります電源がデバイスに接続されてからN秒後です。そのアクションは、UIを介してユーザーが開始することもできます。遅延アクションとBroadcastReceiver
私はACTION_POWER_CONNECTEDをリッスンのAndroidManifest.xmlで定義されているBroadcastReceiverを持っています。
私はonStartCommandに必要な処置を行っています。私の質問は、放送によって行動が引き起こされた場合に、そのサービスを開始する正しい方法は何ですか?
ワンショットタイマタスク:
は、私は心の中で2つのオプションがあります。しかし、私はそれがドキュメントによると間違っていると思う、私はBroadcastReceiverからの非同期タスクを開始できませんでした。
再設計サービス:onStartCommandで
- 開始アクション、アクションはユーザー
- スタートタイマータスクによってトリガされ、タイマーショットでアクションを行うれた場合 - 1とが、サービス内の同じロジック - アクションがブロードキャストによってトリガーされた場合
は、私はそれはコードが少し複雑になります。2.に傾いていますが、それが唯一の正しい方法であると思われます。
-Lev
ありがとうございます!私はそれを確認します。 – lstipakov