7

ウィジェットに関する公式ドキュメントを理解している限り、私は少し混乱しています。

「標準的な」方法は、BroadcastReceiverを定義し、更新頻度をミリ秒単位で定義することです。この方法では、最小更新間隔を 30 分にして、バッテリーの電力を節約できます。合理的に聞こえます。

Google のドキュメントを読んで見つけた「手動」の方法は、AlarmManager. この方法を使用すると、より長い更新間隔が可能になり (もちろんお勧めできません!)、スリープ中にデバイスを起動しないアラーム タイプを使用することも可能です。(デバイスが何らかの理由で起動するとすぐに、イベントがトリガーされた後、いつでもインテントが送信されると思います-そうですか??)

今、私は次の考えに混乱しています: ウィジェットはホーム画面にあります。または、少なくともそれは彼らが見つかる最も一般的な場所です. Android では、ホーム画面に多くのページ (標準では 5 または 7) が用意されているため、ユーザーがウィジェットを配置しても、ウィジェットが表示されない場合があります。

ウィジェットが表示する情報が非常に単純なテキスト(現在の時刻など) であり、必要なときに遅延なく計算または導出できる限り、更新頻度やデバイスのウェイクアップ インテントさえ必要ありません。見えない!
しかし、デバイスがオンである限り、またはより具体的には、画面がオンでウィジェットが表示されている限り、多くの更新イベントが必要です! 秒を表示する時計のように、毎秒再描画するインテントが必要です!

それはどのように実現できますか?「Android アナログ時計」はどのように実現されるのか?方法 A (「標準」) も B (「手動」) も更新頻度が高くなりませんが、デバイスがオンになっており、ウィジェットが表示されている場合に限ります。

誰かヒントを教えてくれませんか???

4

1 に答える 1

3

他の理由でデバイスが起動するとすぐにイベントがトリガーされた後、いつでもインテントが送信されると思います-そうですか??

はい。

表示されていないときは、更新頻度やデバイスのウェイクアップ インテントさえも必要ありません。

しかし、多くの場合、ユーザーはそうします。アップデートで行う価値のあることは、数秒かかる場合があります。ユーザーはそこに座って数秒待つことはありません。したがって、アプリ ウィジェットの更新モデルでは、アプリ ウィジェットを常に更新しておく必要があるため、ユーザーがアプリ ウィジェットを見に行くと、すぐに更新されたデータが表示されます。

しかし、デバイスがオンである限り、またはより具体的には、画面がオンでウィジェットが表示されている限り、多くの更新イベントが必要です! 秒を表示する時計のように、毎秒再描画するインテントが必要です!

独自のホーム画面アプリを作成します。

「Android アナログ時計」はどのように実現されるのか?

ホーム画面アプリの機能です。

于 2011-02-22T13:03:45.973 に答える